Allow publishing a release without creating it on GitHub - #41
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4a0f928c89
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
4a0f928 to
fccc0e3
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fccc0e34b3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
fccc0e3 to
d59420a
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d59420a797
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
d59420a to
8202893
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8202893492
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
8202893 to
34b8642
Compare
`release publish` commits, tags, pushes, and creates the GitHub release in one command, so there is no way to sequence anything between the push and the release. Two situations need that seam: - The release belongs in a different repository than the one being pushed to. A monorepo that mirrors its sources to a public repository wants the tag in both and the release only in the public one. - The release should only appear once downstream builds have proven the tag is releasable. Creating it first means a failing build leaves a published release with no artifacts behind it. Add `--no-github-release` to stop after the tag is pushed, and surface it as the `create-github-release` input on the reusable workflow. The default is unchanged, so existing callers keep creating releases exactly as before. Since only that step shells out to `gh`, the CLI is no longer required when it is skipped. Assisted-By: Claude Opus 5 <[email protected]>
34b8642 to
f297925
Compare
Require tag creation when GitHub release creation is deferred so a publish cannot succeed without doing work. Render successful progress in green and cover the CLI, Python API, and reusable workflow contracts. Assisted-by: GPT-5.6-sol (pi)
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
🔍 Problem
release publishdoes commit → tag → push branch → push tag →gh release createinside a single command, so there is no seam between the push and the release. Two situations need one:Neither is reachable with the existing hooks:
pre-publishruns before anything is pushed, andpost-publishruns after the release already exists.🛠️ Solution
--no-github-release, combined with--tag, stops after the tag is pushed. The reusable workflow exposes the same choice as:Both default to the current behavior, so existing callers are unaffected. The command rejects
--no-github-releasewithout--taginstead of reporting success without publishing anything.The
ghrequirement is now conditional because only the skipped step shells out to it.💬 Review
--no-github-releaserequires--tag, and the Python API requirescreate_tag=Truewithcreate_github_release=False.config.repositoryis still required. It selects the git remote via_select_remote_name, not just the release target, so relaxing that guard would change push behavior.gh, invalid empty plans, Python API forwarding, confirmation ordering, existing-release edits, progress styling, and reusable-workflow wiring.Consumer note: This needs a PyPI release before tenzir/mono can use it. Mono's release workflow installs the published
📚 Docs PR: tenzir/content#198tenzir-ship, so an unreleased flag onmainwould make--no-github-releasean unrecognized option and fail the publish step.