on: [push, pull_request] name: build jobs: test: strategy: matrix: go-version: [1.18.x, 1.19.x, 1.20.x, '>=1.21.1'] os: [ubuntu-latest, macos-latest, windows-latest] targetplatform: [x86, x64] runs-on: ${{ matrix.os }} steps: - name: Install Go uses: actions/setup-go@v5 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v4 - name: Get dependencies run: | env GO111MODULE=on go vet ./... - name: Build run: go build -v . - name: Test run: env GO111MODULE=on go test -v -timeout 30m -race ./... -coverprofile=coverage.txt -covermode=atomic - name: Codecov uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: file: coverage.txt flags: unittests name: codecov-umbrella