Skip to content

Golangci-lint is not consistent between "make lint" and GH workflow lint #456

@tuminoid

Description

@tuminoid

Example, PR #441 :

Github action:

Run golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9
prepare environment
run golangci-lint
  Running [/home/runner/golangci-lint-2.6.2-linux-amd64/golangci-lint config path] in [/home/runner/work/ironic-standalone-operator/ironic-standalone-operator] ...
  Running [/home/runner/golangci-lint-2.6.2-linux-amd64/golangci-lint config verify] in [/home/runner/work/ironic-standalone-operator/ironic-standalone-operator] ...
  Running [/home/runner/golangci-lint-2.6.2-linux-amd64/golangci-lint run  --timeout=10m] in [/home/runner/work/ironic-standalone-operator/ironic-standalone-operator] ...
  Error: pkg/secretutils/secret_manager.go:98:79: QF1008: could remove embedded field "ObjectMeta" from selector (staticcheck)
  			return fmt.Errorf("failed to update secret %s in namespace %s: %w", secret.ObjectMeta.Name, secret.ObjectMeta.Namespace, err)
  			                                                                           ^
  1 issues:
  * staticcheck: 1
  
  Error: issues found
  Ran golangci-lint in 114712ms

but locally:

 ➜ make lint
...
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: ".*conversion.*\\.go$", Linters: "gofmt, goimports"] 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "third_party$", Linters: "gofmt, goimports"] 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "examples$", Linters: "gofmt, goimports"] 
INFO [runner] processing took 41.797µs with stages: exclusion_rules: 24.613µs, exclusion_paths: 15.633µs, max_same_issues: 486ns, path_prettifier: 165ns, path_absoluter: 146ns, source_code: 110ns, path_shortener: 102ns, nolint_filter: 78ns, max_from_linter: 57ns, filename_unadjuster: 51ns, cgo: 51ns, diff: 44ns, fixer: 35ns, generated_file_filter: 34ns, invalid_issue: 34ns, uniq_by_line: 32ns, sort_results: 32ns, max_per_file_from_linter: 32ns, path_relativity: 31ns, severity-rules: 31ns 
INFO [runner] linters took 338.912µs with stages: goanalysis_metalinter: 267.228µs 
0 issues.
INFO File cache stats: 0 entries of total size 0B 
INFO Memory: 3 samples, avg is 40.8MB, max is 40.8MB 
INFO Execution took 182.265227ms 

all is fine. This is very confusing and time wasting for developers, and means you need to iterate on your PR via CI, which is not nice.

This is probably something to do with Golangci-lint v2 migration in #438, so I'm assigning this to @nuhakala for checking.

/triage accepted
/assign @nuhakala

Metadata

Metadata

Assignees

Labels

triage/acceptedIndicates an issue is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions