Skip to content

build: support Go 1.27.4 in shared lint action - #54

Draft
zzwong wants to merge 2 commits into
mainfrom
build/go-1.27.4-linter
Draft

zzwong wants to merge 2 commits into
mainfrom
build/go-1.27.4-linter

Conversation

@zzwong

@zzwong zzwong commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Upgrade the shared golangci-lint binary from v2.12.2 to v2.15.0 for Go 1.27.4 compatibility. Keep the existing action implementation and lint/config gates unchanged.
  • Add toolchain go1.27.4 to the minimal CI fixture while retaining its go 1.26 language floor, exercising the selected compiler through the existing cross-platform build and test-lint jobs.

Evidence and validation

  • Go 1.27.4 consumer runs exposed the old binary incompatibility: slack-chat-api#219 reports that the Go version used to build golangci-lint is lower than the target; newrelic-cli#151 reports a newer-Go panic.
  • v2.15.0 already passed lint on Go 1.27.4 in hubspot-cli#73 and cpm#49.
  • Local YAML parsing and assertions passed for the version pin, unchanged config gate, language floor, and fixture toolchain.
  • Go build/test/lint were not run locally because this environment has no Go compiler. Existing repository CI is the execution gate.
  • No merge, release, deployment, or movement of the v1 tag. Consumers can test this immutable commit separately.

Fixture toolchain selection

The first shared action exports GOTOOLCHAIN=local. The test-lint job explicitly resets GOTOOLCHAIN=auto for each composite call so all test, coverage, and lint steps honor the fixture toolchain instead of later steps falling back to its language floor. This is test-only; the consumer action is unchanged from b816e09.

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