Skip to content

fix(cli): verify build against pinned phrase-go version before release - #1237

Merged
jablan merged 1 commit into
mainfrom
fix/cli-verify-pinned-phrase-go-build
Aug 24, 2026
Merged

fix(cli): verify build against pinned phrase-go version before release#1237
jablan merged 1 commit into
mainfrom
fix/cli-verify-pinned-phrase-go-build

Conversation

@jablan

@jablan jablan commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The CLI release build (phrase-cli's release.yml) compiles against the phrase-go version pinned in go.mod. Our generation pipeline only verified the build against a freshly generated go client via a local replace directive, so spec-driven CLI code could ship before the matching phrase-go version was actually released — this is exactly what broke the CLI 2.67.0 release build (go.mod pinned to v4.29.1, generated code required v4.30.0 APIs).
  • Adds a build step (and make build target) that also compiles against the pinned, non-replaced dependency, so this fails in CI here instead of in the public release pipeline.

Release-As: 2.67.1 is included to prompt release-please to cut a new CLI patch release, since phrase-go v4.30.0 is already correctly pinned on phrase-cli master — this just needs a new tagged release to go out.

Test plan

  • CI (build-cli job) passes on this PR
  • After merge, confirm release-please opens a chore(main): release cli 2.67.1 PR
  • After merging that PR, confirm phrase-cli's 2.67.1 release build succeeds

@github-actions

Copy link
Copy Markdown
Contributor

API changelog (oasdiff)

Doc-only edits (descriptions, examples) do not appear here.

No changes detected

…g a release

phrase-cli's release build compiles against the phrase-go version pinned
in go.mod. Our generation pipeline only verified the build against a
freshly generated go client via a local replace directive, so a CLI
release could be tagged whose generated code outran the phrase-go
version actually pinned/published, breaking the public release build
(as happened with CLI 2.67.0 vs phrase-go v4.29.1).

Add a second build check, scoped to the moment a new CLI version tag is
about to be created, using the pinned (non-replaced) dependency exactly
as phrase-cli's own release workflow will. This intentionally excludes
routine, non-release pushes to phrase-cli's master: generated code there
routinely outpaces the last-published phrase-go version between a spec
change and its corresponding go client release, and that's harmless
since nothing consumes unreleased master content.

Release-As: 2.67.1
@jablan
jablan merged commit 4566526 into main Aug 24, 2026
13 checks passed
@jablan
jablan deleted the fix/cli-verify-pinned-phrase-go-build branch August 24, 2026 14:06
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.

2 participants