name: golangci-lint on: push: branches: [main, "release/**"] pull_request: branches: [main, "release/**"] workflow_dispatch: permissions: # Required: allow read access to the content for analysis. contents: read # Optional: allow read access to pull request. Use with `only-new-issues` option. pull-requests: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: golangci: name: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: "go.mod" - name: goheader # The goheader linter is only enabled in the CI so that it runs only on modified or new files # (see only-new-issues: true). It is disabled in .golangci.yml because # golangci-lint running locally is not aware of new/modified files compared to the base # commit of a pull request, and we want to avoid reporting invalid goheader errors. uses: golangci/golangci-lint-action@v6 with: version: v1.60 only-new-issues: true args: --enable-only goheader - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: version: v1.60