Skip to content

chore: bump Go to 1.27 and golangci-lint to v2.13.2 - #50

Open
MrBeldum wants to merge 3 commits into
kinbiko:mainfrom
MrBeldum:chore/bump-go-1.27
Open

chore: bump Go to 1.27 and golangci-lint to v2.13.2#50
MrBeldum wants to merge 3 commits into
kinbiko:mainfrom
MrBeldum:chore/bump-go-1.27

Conversation

@MrBeldum

@MrBeldum MrBeldum commented Sep 4, 2026

Copy link
Copy Markdown

Summary

  • Bump go.mod to Go 1.27
  • Bump Makefile golangci-lint to v2.13.2 (Go 1.27 support landed in v2.13.0; latest patch is v2.13.2)
  • Install the linter from GitHub release tarballs so checksums verify (upstream install.sh currently matches *.tar.gz.sbom.json)
  • Migrate .golangci.yml to v2 and address new staticcheck QF1008 findings

CI workflow files still pin Go 1.22 / older actions. Updating .github/workflows/go.yml go-version to 1.27 (and action pins) is required to fully close #49, but this token cannot modify workflow files without the GitHub OAuth workflow scope.

Fixes #49

Checklist

  • I have done a self-review of the PR.

Raise the module Go version to 1.27 and update the Makefile linter
pin to v2.13.2 (Go 1.27 support).

Fixes kinbiko#49
@MrBeldum
MrBeldum requested a review from kinbiko as a code owner September 4, 2026 16:45
Required for golangci-lint v2.13.x after the Makefile pin bump.
The official install.sh checksum lookup matches *.tar.gz.sbom.json on
v2.13.x, so install the release tarball directly. Also satisfy
staticcheck QF1008 and keep noisy test-only linters excluded.

@kinbiko kinbiko left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

This PR shows clear signs of AI being used. I STRONGLY discourage this if your goal is to learn. There's no urgency in this task.

Comment thread .golangci.yml
paths:
- third_party$
- builtin$
- examples$

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Ouch, this file is even longer than before. It should be possible, without making any rules any weaker (stronger + still passing is OK), to reduce this file down to quite a bit less than 100 lines of code.

Comment thread Makefile
coverage:
go test -race -v -coverprofile=profile.cov -covermode=atomic ./...

# Download the release tarball directly. The upstream install.sh checksum

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

This is making things more complicated rather than taking advantage of new features in the Go language and toolchain.
You should be able to reduce the lint target down to a single, easy-to-read line of code. Hint: Read through the release notes of Go 1.24.

Challenge: achieve this win without polluting the SBOM of any of the users of this package (the fact that this package has 0 transitive dependencies is a selling-point that I want to maintain).

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.

[Chore] Bump versions of Go and dependencies.

2 participants