Skip to content

CI: go vet and golangci-lint, no signing on pull requests - #89

Open
ApolloF wants to merge 1 commit into
mainfrom
ApolloF/a1-seaglass-lint-ci
Open

ApolloF wants to merge 1 commit into
mainfrom
ApolloF/a1-seaglass-lint-ci

Conversation

@ApolloF

@ApolloF ApolloF commented Nov 1, 2026

Copy link
Copy Markdown
Owner

CI now runs go vet ./... and golangci-lint (pinned v2.15.0, config in .golangci.yml) after the build. Enabled: govet, staticcheck, ineffassign, unused, misspell, gofmt. All 34 findings of those are fixed in this PR (De Morgan rewrites, gofmt alignment, two dead assignments, an unused field, Id -> ID in proc names, doc comments).

Pull requests are no longer signed at all (SIGN env): Dependabot and fork runs have no secrets, so the job must pass unsigned. SignPath was already tags-only. #86/#87/#78 were red only on the old notices step that #88 fixed.

The check command in the docs now starts with vet + lint.

Follow-ups, not in this PR:

  • errcheck: 189 findings, mostly ignored Close, Remove, Fprintf and syscall .Call returns.
  • gosec: 301 at default severity (G306/G304 file modes and paths 142, G115 int conversions 52, G103 unsafe 39, G301 dir modes 36, G204 subprocess 12, the rest single digits). Each needs a fix or a //nolint:gosec // reason.

build.yml gets a Vet step (go vet ./...) and a Lint step
(golangci/golangci-lint-action, golangci-lint pinned to v2.15.0) after
the build, since the root package embeds frontend/dist. .golangci.yml
enables govet, staticcheck, ineffassign, unused, misspell and gofmt.
errcheck and gosec stay off for now: the first run reported 189 and
301 findings, which get their own PRs.

The 34 findings of the enabled linters are fixed: De Morgan
simplifications, gofmt alignment in test tables, two dead assignments,
an unused struct field, Id -> ID in Windows proc names, a nil-map panic
in a test marked on purpose, and one doc comment per exported name.

Pull requests are never signed (SIGN env): Dependabot's and forks' runs
have no secrets, and the job has to pass for them too. SignPath already
only ran on tags.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant