name: Continuous integration on: push: branches: - main - stable - alpha pull_request: branches: - main - stable - alpha env: CGO_ENABLED: "1" CGO_CXXFLAGS: "-std=c++17" 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.2 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 cmake -y --no-progress - name: Lint if: matrix.os == 'ubuntu-20.04' uses: golangci/golangci-lint-action@v3 with: version: v1.48 - name: Test win if: matrix.os == 'windows-2022' run: go test --tags nofuzz --count 1 -p 2 ./... - name: Test if: matrix.os != 'windows-2022' run: go test --count 1 -p 2 ./...