Repository navigation
ci: standardize lint tooling and testing - #210
Merged
Merged
Conversation
- Pin lint tooling and align local checks with CI - Cover configured modules and resolve lint findings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Standardize the local and CI lint/test entry points using the signet reference. Pin golangci-lint v2.15.0 in a separate tools module and commit its checksums. Consolidate lint/testing in
.github/workflows/testing.yml, run the same Make targets in CI, and retain repository-specific test matrices, service setup, benchmarks, and security steps.Plan and classification
Scope: align
.golangci.yml,go.tools.mod, Makefile and testing workflow; resolve enabled lint findings, including tracked nested example modules. No issue or Jira reference was supplied.Leaf change — changes are bounded to development tooling, tests and/or examples; one reviewer is recommended.
flowchart TD CI[testing.yml] --> Make[Makefile lint and test] Make --> Tools[go.tools.mod pinned lint tool] style CI fill:#e8f4ff,stroke:#246 style Make fill:#e8f4ff,stroke:#246 style Tools fill:#e8f4ff,stroke:#246Verification
Checkout
ci/standardize-lint-toolingand use the repository root. Go 1.26.10 or newer, Make, Git, network access for Go modules, and actionlint. Run all commands from the repository root.make install-toolsgo tool -modfile=go.tools.mod golangci-lint config verifymake fmtthenmake lintmake testactionlint .github/workflows/testing.ymlgit diff --staged --checkBehavioral check (Passed): from this branch, run
make install-tools,make lint, thenmake test; each exits zero. Lint resolves its executable through go.tools.mod rather than relying on a globally installed binary. Any configured module failure propagates a nonzero exit to CI.Verification runtime: Go 1.26.10 darwin/arm64. The Go 1.26/1.27 hosted CI matrix has not been observed before opening this PR. External security scanners and Codecov upload require GitHub Actions and were not executed locally.
Cleanup: remove generated coverage.txt/coverage.out if present; stop only disposable test containers created for this verification.
AI authorship
.github/workflows/golangci-lint.yml,.github/workflows/testing.yml,.golangci.yml,Makefile,ace-template/main_test.go,app-engine/go11x/hello.go,basic/main_test.go,cors-middleware/main.go,custom-validation/server.go,file-binding/main.go,go.tools.mod,go.tools.sum,grpc/example1/gin/main.go,grpc/example1/grpc/server.go,new_relic/main.go,oidc/main.go,otel/main.go,realtime-advanced/main.go,realtime-advanced/routes.go,realtime-advanced/stats.go,realtime-chat/main.go,realtime-chat/rooms.go,send_chunked_data/send_chunked_data.go,server-sent-event/main.go,upload-file/limit-bytes/main_test.go.Risk and rollback
Stricter lint checks may reject future code or require formatting updates. Review the Makefile module coverage and workflow matrix/service preservation. Dependency changes are confined to the tools module; revert this commit to restore the prior tooling.
No secrets were added. Any service credentials in the verification recipe are disposable test-only values. Review source changes carefully; checksum updates are mechanical.