--- on: pull_request: {} push: branches: - "main" tags: - "v*" env: GO_VERSION: "1.16" jobs: build: runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v2" - uses: "actions/cache@v2" with: path: "~/go/pkg/mod" key: "${{ runner.os }}-gomod-${{ hashFiles('**/go.sum') }}" restore-keys: | ${{ runner.os }}-gomod- - uses: "actions/setup-go@v2" with: go-version: "${{ env.GO_VERSION }}" - run: "go build ./..." lint: runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v2" - uses: "golangci/golangci-lint-action@v2" test: needs: "build" runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v2" - uses: "actions/cache@v2" with: path: "~/go/pkg/mod" key: "${{ runner.os }}-gomod-${{ hashFiles('**/go.sum') }}" - uses: "actions/setup-go@v2" with: go-version: "${{ env.GO_VERSION }}" - run: "go test ./..."