name: Tests on: [push, pull_request] jobs: build: strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - name: Set up Go 1.16 uses: actions/setup-go@v2 with: go-version: 1.16 - name: Check out code uses: actions/checkout@v2 - name: Cache Go modules uses: actions/cache@v2 with: path: ~/go key: ${{ runner.os }}-build-${{ hashFiles('go.mod') }} restore-keys: | ${{ runner.os }}-build- ${{ runner.os }}- - name: Download dependencies run: go mod download - name: Run tests run: go test -race ./... - name: Build run: go build -v ./cmd/gh