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: - uses: actions/checkout@v3 - run: git submodule update --init --recursive --force - 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.46 - name: Test win if: matrix.os == 'windows-2022' run: go test ./... - name: Test if: matrix.os != 'windows-2022' run: go test -tags gofuzzbeta ./...