Skip to content

ci(cpp): remove the alpha pre-release publish flag - #53

Merged
nielspardon merged 1 commit into
mainfrom
ci/cpp-remove-alpha-flag
Jul 31, 2026
Merged

ci(cpp): remove the alpha pre-release publish flag#53
nielspardon merged 1 commit into
mainfrom
ci/cpp-remove-alpha-flag

Conversation

@nielspardon

Copy link
Copy Markdown
Member

What

Companion to #41, doing the same for C++: delete the alpha input from cpp_publish.yml, cpp_protobuf.yml, cpp_antlr.yml, and cpp_extensions.yml, collapse version resolution to the spec version, and delete scripts/cpp/next_alpha_version.sh.

#40 already flipped the C++ default to false; this removes the flag.

Why the flag can go entirely

  • It was unreachable from the release pipeline. publish_artifacts.yml never forwarded alpha, so it was only settable via a manual workflow_dispatch.
  • It is not what makes re-runs safe. The tag_exists precheck already skips pushing a tag that exists — and for C++ the tag is the publish.
  • It cannot fix a bad final release. x.y.z-alpha.N sorts below x.y.z in semver.
  • Python and Java never had it.

Shared helpers

Now that no pipeline can produce a pre-release, the version grammar in the shared helpers is tightened to x.y.z only:

  • scripts/tag_exists.sh — used by both the Rust and C++ leaf workflows
  • scripts/vcpkg/bump_port.sh — plus its usage example and REF-line comments
  • cpp_registry.yml — the version input examples no longer show 0.96.0-alpha

Merge order

Please merge #41 first. tag_exists.sh is shared, so if this lands first it would reject an alpha tag while the Rust workflows could still request one. Nothing in the release pipeline exercises that path, but the ordering keeps it consistent.

Notes

  • Existing cpp/*/v*-alpha tags and the vcpkg registry entries pinned to them are left as-is.
  • scripts/tag_exists.sh:21 has a pre-existing shellcheck SC2086 (unquoted $TAG_NAME) that I left alone as out of scope.

🤖 Generated with AI

Companion to the Rust change: #40 flipped the C++ `alpha` default to
false, and the flag has no remaining use. It was unreachable from the
release pipeline (`publish_artifacts.yml` never forwarded it), it is not
what makes re-runs safe (the `tag_exists` precheck already skips a tag
that exists), and it cannot fix a bad final release since
`x.y.z-alpha.N` sorts below `x.y.z`.

Drop the input from all four C++ publish workflows, collapse the version
resolution to the spec version, and delete `next_alpha_version.sh`.

Also tighten the version grammar in the shared helpers now that no
pipeline can produce a pre-release: `tag_exists.sh` (used by both the
Rust and C++ leaf workflows) and `vcpkg/bump_port.sh` now accept only
`x.y.z`, and the `cpp_registry.yml` input examples no longer show an
alpha version.
@nielspardon
nielspardon merged commit 525cc03 into main Jul 31, 2026
4 checks passed
@nielspardon
nielspardon deleted the ci/cpp-remove-alpha-flag branch July 31, 2026 09:27
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