on: [push, pull_request] name: build jobs: test: strategy: matrix: go-version: [1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x] os: [ubuntu-latest, macos-latest, windows-latest] targetplatform: [x86, x64] runs-on: ${{ matrix.os }} steps: - name: Install Go uses: actions/setup-go@v4 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v3 - 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@v3 with: file: coverage.txt flags: unittests name: codecov-umbrella