github.com/ledgerwatch/erigon-lib@v1.0.0/.github/workflows/ci.yml (about)

     1  name: Continuous integration
     2  on:
     3    push:
     4      branches:
     5        - main
     6        - stable
     7        - alpha
     8    pull_request:
     9      branches:
    10        - main
    11        - stable
    12        - alpha
    13  env:
    14    CGO_ENABLED: "1"
    15    CGO_CXXFLAGS: "-g -O2 -std=c++17"
    16    GO111MODULE: "on"
    17  jobs:
    18    tests:
    19      strategy:
    20        matrix:
    21          os: [ ubuntu-20.04, macos-11, windows-2022 ] # list of os: https://github.com/actions/virtual-environments
    22      runs-on: ${{ matrix.os }}
    23  
    24      steps:
    25        - name: configure Pagefile
    26          if: matrix.os == 'windows-2022'
    27          uses: al-cheb/configure-pagefile-action@v1.3
    28          with:
    29            minimum-size: 8GB
    30        - uses: actions/checkout@v3
    31          with:
    32            submodules: recursive
    33            fetch-depth: 0 # fetch git tags for "git describe"
    34        - uses: actions/setup-go@v4
    35          with:
    36            go-version: '1.19'
    37  
    38        - name: Install deps
    39          if: matrix.os == 'ubuntu-20.04'
    40          run: sudo apt update && sudo apt install build-essential
    41          shell: bash
    42        - name: Install deps
    43          if: matrix.os == 'windows-2022'
    44          run: |
    45            choco upgrade mingw -y --no-progress --version 11.2.0.07112021
    46            choco install cmake -y --no-progress --version 3.23.1
    47  
    48        - name: Lint
    49          if: matrix.os == 'ubuntu-20.04'
    50          uses: golangci/golangci-lint-action@v3
    51          with:
    52            version: v1.54
    53            skip-build-cache: true
    54  
    55        - name: Lint source code licenses
    56          if: matrix.os == 'ubuntu-20.04'
    57          run: make lint-licenses-deps lint-licenses
    58  
    59        - name: Test win
    60          if: matrix.os == 'windows-2022'
    61          run: make test-no-fuzz
    62        - name: Test
    63          if: matrix.os != 'windows-2022'
    64          run: make test