name: "golangci-lint" on: pull_request: paths-ignore: - 'website/**' permissions: contents: read jobs: lint: name: "Run Linter" runs-on: ${{ fromJSON(vars.RUNNER) }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: '0' - name: Determine Go version id: get-go-version # We use .go-version as our source of truth for current Go # version, because "goenv" can react to it automatically. run: | echo "Building with Go $(cat .go-version)" echo "go-version=$(cat .go-version)" >> "$GITHUB_OUTPUT" - name: Set up Go uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 with: go-version: "${{ steps.get-go-version.outputs.go-version }}" cache: false - name: Determine Go cache paths id: go-cache-paths run: | echo "go-mod=$(go env GOMODCACHE)" >> "$GITHUB_OUTPUT" - name: Set up Go modules cache uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 with: path: | ${{ steps.go-cache-paths.outputs.go-mod }} key: go-mod-${{ hashFiles('**/go.sum') }} restore-keys: | go-mod - name: Install Dependencies # if we really need to we can update this to run `make tools` # later but its just not necessary to only run linters run: | make golangci-lint - name: Running Linters run: | LINT_DIFF_BRANCH="origin/${GITHUB_BASE_REF}" make lint-diff