name: CI on: push: branches: [master] pull_request: jobs: build: name: Build runs-on: ${{ matrix.os }} strategy: # Fail fast is disabled because there are Go version specific features and tests # that should be able to fail independently. fail-fast: false matrix: os: [ubuntu-latest, windows-latest] go-version: ['1.16', '1.17', '1.18', '1.19', '1.20'] steps: - name: Checkout repository uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - name: Set up Go uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 with: go-version: ${{ matrix.go }} - name: Build run: go build -v ./... - name: Test run: go test -race -v ./...