name: Test on: push: branches: [master] paths: - "**/*.go" pull_request: branches: [master] types: [opened, synchronize, reopened] paths: - "**/*.go" jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] steps: - name: Set up Go 1.x uses: actions/setup-go@v2 with: go-version: ^1.14 - name: Checkout codebase uses: actions/checkout@v2 - name: Cache go module uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: ${{ runner.os }}-go- - name: Test run: go test -timeout 1h -v ./...