Skip to content

chore: bump Go and modernize golangci-lint setup#12

Merged
ichizero merged 3 commits intomainfrom
chore/bump-go-and-toolchain-versions
Feb 15, 2026
Merged

chore: bump Go and modernize golangci-lint setup#12
ichizero merged 3 commits intomainfrom
chore/bump-go-and-toolchain-versions

Conversation

@ichizero
Copy link
Copy Markdown
Owner

@ichizero ichizero commented Feb 15, 2026

Summary

  • bump go directive to 1.24.0 and toolchain to go1.26.0
  • upgrade golangci-lint-action to v9 and remove pinned golangci-lint version
  • migrate .golangci.yml to v2 and preserve v1 intent comments (UseInstead/deprecated notes)

Verification

  • go test ./...
  • go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest run

Summary by CodeRabbit

  • Chores
    • Updated Go language target from 1.22 to 1.24.0 with added toolchain support for go1.26.0
    • Refreshed code quality tools and linting configuration to latest standards

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 15, 2026

📝 Walkthrough

Walkthrough

The changes upgrade Go toolchain version from 1.22 to 1.24.0 with toolchain specification for 1.26.0, update golangci-lint GitHub Action from v6 to v9, and migrate linting configuration to v2-style layout with reorganized linters and formatters.

Changes

Cohort / File(s) Summary
Go Toolchain
go.mod
Upgraded Go language target to 1.24.0 and added toolchain specification for go1.26.0.
Linting Infrastructure
.github/workflows/test.yml, .golangci.yml
Updated golangci-lint GitHub Action from v6 to v9 (removed explicit version pin). Migrated linting configuration to v2-style layout with default all linters, reorganized enable/disable structure, added formatters (gci, gofumpt, goimports), and adjusted issues handling with expanded exclusions and per-path rules.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A fluffy hop through versions new,
Go climbs to heights of 1.24 true,
Linters dance in v2 array,
Formatters groom the code each day,
Clean checksums and warnings away!

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes in the PR: bumping Go version and modernizing golangci-lint configuration are the primary objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/bump-go-and-toolchain-versions

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @.golangci.yml:
- Line 52: Remove the stale/self-referential comment next to the "gofumpt" entry
in .golangci.yml (the comment "# Use gofumpt instead.") so the linter list is
not misleading; locate the "gofumpt" line and delete the trailing comment,
leaving only the linter name.
🧹 Nitpick comments (1)
.golangci.yml (1)

32-48: Path exclusions are duplicated between linters.exclusions and formatters.exclusions.

This is expected in golangci-lint v2 since linters and formatters have independent exclusion configs, but worth noting that any future path-exclusion changes need to be updated in both places.

Also applies to: 54-61

Comment thread .golangci.yml
formatters:
enable:
- gci
- gofumpt # Use gofumpt instead.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Stale comment on gofumpt — it already is gofumpt.

The comment # Use gofumpt instead. appears to be a leftover from the v1 config where it likely annotated the gofmt linter. Here it's on the gofumpt entry itself, so the comment is self-referential and misleading.

Proposed fix
-    - gofumpt # Use gofumpt instead.
+    - gofumpt
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- gofumpt # Use gofumpt instead.
- gofumpt
🤖 Prompt for AI Agents
In @.golangci.yml at line 52, Remove the stale/self-referential comment next to
the "gofumpt" entry in .golangci.yml (the comment "# Use gofumpt instead.") so
the linter list is not misleading; locate the "gofumpt" line and delete the
trailing comment, leaving only the linter name.

@ichizero ichizero merged commit d768cb8 into main Feb 15, 2026
2 checks passed
@ichizero ichizero deleted the chore/bump-go-and-toolchain-versions branch February 15, 2026 10:46
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