name: golangci-lint on: push: tags: - v* branches: - main pull_request: permissions: contents: read # Optional: allow read access to pull request. Use with `only-new-issues` option. # pull-requests: read jobs: golangci: name: lint runs-on: ubuntu-latest steps: - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: cache: false check-latest: true go-version: 1.26.x - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Run linter with GH action uses: golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee # v9.2.1 with: # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version version: v2.12.2 # Optional: working directory, useful for monorepos # working-directory: somedir # Optional: golangci-lint command line arguments. # args: --issues-exit-code=0 args: --build-tags debug,needprivileges,sync,scrub,search,userprefs,metrics,lint,mgmt,imagetrust ./cmd/... ./pkg/... # Optional: show only new issues if it's a pull request. The default value is `false`. # only-new-issues: true # Optional: if set to true then the action don't cache or restore ~/go/pkg. # skip-pkg-cache: true # skip-pkg-cache: false # Optional: if set to true then the action don't cache or restore ~/.cache/go-build. # skip-build-cache: true env: GOEXPERIMENT: jsonv2 - name: Check go.mod and go.sum are up to date run: | make modcheck - name: Run linter from make target run: | make check - name: Run log linter run: | make check-logs