Skip to content

ci(release): validate modules standalone (GOWORK=off) and lint on the newest Go leg only - #212

Merged
joshua-temple merged 1 commit into
mainfrom
fix/release-validate-standalone
Aug 23, 2026
Merged

ci(release): validate modules standalone (GOWORK=off) and lint on the newest Go leg only#212
joshua-temple merged 1 commit into
mainfrom
fix/release-validate-standalone

Conversation

@joshua-temple

Copy link
Copy Markdown
Collaborator

Checkpoint 5 fix-forward — release workflow repairs for the v1 tags

Cutting source/v1.0.0 + source/kafka/v1.0.0 surfaced two latent release.yml issues (first source-module release ever; both failures are environmental, zero code defects):

Failure Root cause Fix
kafka run: pattern ./...: directory prefix . does not contain modules listed in go.work on every leg release.yml never sets GOWORK=off; source/kafka is deliberately outside the workspace GOWORK: "off" on the validate job (released modules must build standalone; replace directives cover intra-repo deps)
source run: can't load config: the Go language version (go1.25) used to build golangci-lint is lower than the targeted Go version (1.26.4) on all 1.25.14 legs pinned golangci-lint is compiled by the active toolchain; module toolchain directive targets newer lint gated to the 1.26.6 leg (test -race still covers 1.25.x)

Also: [1.0.1] release-engineering changelog entries for both modules. Per policy the pushed v1.0.0 tags stay immutable; v1.0.1 patch tags will be cut from this merge to publish successfully.

… newest Go leg only

The first source-module tags exposed two latent release-workflow issues:

- source/kafka is deliberately excluded from go.work, but the validate job
  ran with the root workspace present, so 'go test ./...' inside the module
  failed on every leg ('directory prefix . does not contain modules listed
  in go.work'). Set GOWORK=off for the whole gate: released modules must
  build standalone anyway; replace directives carry intra-repo deps.
- golangci-lint is compiled by the active toolchain; on the go1.25 legs it
  refused a module whose toolchain directive targets a newer language
  version ('can't load config: the Go language version (go1.25) used to
  build golangci-lint is lower than the targeted Go version (1.26.4)').
  Lint now runs on the 1.26.6 leg only; test -race still covers 1.25.x.

Also adds [1.0.1] release-engineering entries to both source changelogs:
the v1.0.0 tags stay immutable; v1.0.1 republishes the identical source.
@joshua-temple
joshua-temple merged commit 8770dcf into main Aug 23, 2026
121 checks passed
@joshua-temple
joshua-temple deleted the fix/release-validate-standalone branch August 23, 2026 08:59
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