name: Continuous integration on: push: branches: - main - stable - alpha pull_request: branches: - main - stable - alpha env: CGO_ENABLED: "1" CGO_CXXFLAGS: "-g -O2 -std=c++17" GO111MODULE: "on" jobs: tests: strategy: matrix: os: [ ubuntu-20.04, macos-11, windows-2022 ] # list of os: https://github.com/actions/virtual-environments runs-on: ${{ matrix.os }} steps: - name: configure Pagefile if: matrix.os == 'windows-2022' uses: al-cheb/configure-pagefile-action@v1.3 with: minimum-size: 8GB - uses: actions/checkout@v3 with: submodules: recursive fetch-depth: 0 # fetch git tags for "git describe" - uses: actions/setup-go@v3 with: go-version: 1.18.x - uses: actions/cache@v3 with: path: ~/go/pkg/mod key: ${{ matrix.os }}-go-${{ hashFiles('**/go.sum') }} - name: Install deps if: matrix.os == 'ubuntu-20.04' run: sudo apt update && sudo apt install build-essential shell: bash - name: Install deps if: matrix.os == 'windows-2022' run: | choco upgrade mingw -y --no-progress --version 11.2.0.07112021 choco install cmake -y --no-progress --version 3.23.1 - name: Lint if: matrix.os == 'ubuntu-20.04' uses: golangci/golangci-lint-action@v3 with: version: v1.50 args: --config=.golangci.yml --out-${NO_FUTURE}format colored-line-number - name: Test win if: matrix.os == 'windows-2022' run: make test-no-fuzz