chore: add help make target #2855
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Linters | |
on: | |
push: | |
branches: | |
- main | |
- "release/**" | |
pull_request: | |
paths: | |
- .github/workflows/linters.yml | |
- .golangci.yml | |
- go.sum | |
- GNUmakefile | |
- internal/** | |
- main.go | |
- tools/** | |
jobs: | |
go_mod_download: | |
name: go mod download | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 | |
with: | |
go-version-file: tools/go.mod | |
- uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
continue-on-error: true | |
id: cache-go-pkg-mod | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
# Needed to access private repositories. Unfortunately, this cannot be restricted to specific repositories | |
- run: git config --global url."https://${{ secrets.PRIVATE_GOMOD_TOKEN }}:[email protected]/hashicorp".insteadOf "https://github.com/hashicorp" | |
- if: steps.cache-go-pkg-mod.outputs.cache-hit != 'true' || steps.cache-go-pkg-mod.outcome == 'failure' | |
run: go mod download | |
golangci-lint: | |
needs: [go_mod_download] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 | |
with: | |
go-version-file: tools/go.mod | |
- name: GOCACHE | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
# TODO: Replace with supported mechanism when it is supported | |
# https://github.com/actions/setup-go/issues/54 | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- run: cd tools && go install github.com/golangci/golangci-lint/cmd/golangci-lint | |
# Needed to access private repositories. Unfortunately, this cannot be restricted to specific repositories | |
- run: git config --global url."https://${{ secrets.PRIVATE_GOMOD_TOKEN }}:[email protected]/hashicorp".insteadOf "https://github.com/hashicorp" | |
- run: golangci-lint run ./internal/... | |
unit-test: | |
needs: [go_mod_download] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 | |
with: | |
go-version-file: tools/go.mod | |
- name: GOCACHE | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
# TODO: Replace with supported mechanism when it is supported | |
# https://github.com/actions/setup-go/issues/54 | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
# Needed to access private repositories. Unfortunately, this cannot be restricted to specific repositories | |
- run: git config --global url."https://${{ secrets.PRIVATE_GOMOD_TOKEN }}:[email protected]/hashicorp".insteadOf "https://github.com/hashicorp" | |
- run: make test | |
semgrep: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- name: semgrep | |
uses: returntocorp/semgrep-action@713efdd345f3035192eaa63f56867b88e63e4e5d # v1 | |
importlint: | |
needs: [go_mod_download] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 | |
with: | |
go-version-file: tools/go.mod | |
- name: GOCACHE | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
# TODO: Replace with supported mechanism when it is supported | |
# https://github.com/actions/setup-go/issues/54 | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- run: cd tools && go install github.com/pavius/impi/cmd/impi | |
- run: impi --local . --scheme stdThirdPartyLocal --ignore-generated=true ./... |