Bump reflex-release to 0.1.0a4 and sync workflows - #502
Conversation
Bump `cli-command` and the Makefile's `RELEASE_VERSION` together, then regenerate the four workflows reflex-release owns. Two upstream fixes land beyond the pin-line churn: - `publish.yml`'s `publish` and `tag-and-release` jobs now carry explicit `if:` status functions. Without one, GitHub evaluates an implicit `success()` over the whole transitive dependency closure rather than the direct `needs` — and with `custom-build` exactly one build path ever runs, so the skipped one reached `collect` straight through and the upload silently never happened. This is the shape xy releases in. - `release_from_changelog.yml`'s health check no longer treats every `skipped` leg as healthy: a leg may be skipped only when `detect` found no packages for it, so a job GitHub skipped despite having work to publish is an error rather than a green run that shipped nothing. The two known upstream findings (the unsanitized `::error::` interpolation in publish.yml's approval gate, and changelog.yml's stale "Two guards" count) are still open at 0.1.0a4; the readiness spec records that.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughThe release tooling pin changed from ChangesRelease pipeline updates
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change updates release tooling pins and generated workflow behavior; no actionable merge-blocking risk remains beyond normal checks and review. Sequence Diagram(s)sequenceDiagram
participant CollectJob
participant PublishJob
participant TagAndReleaseJob
CollectJob->>PublishJob: Successful, non-cancelled collect result
PublishJob->>TagAndReleaseJob: Successful, non-cancelled publish result
TagAndReleaseJob->>TagAndReleaseJob: Push tag and create release
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (7 skipped: 7 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merging this PR will not alter performance
Comparing Footnotes
|
Upgrades the pinned
reflex-releaseversion from0.1.0a3to0.1.0a4across all release workflows and configuration files, and regenerates workflows withreflex-release sync.Summary
This change updates the release tooling to a newer alpha version that includes critical fixes for job-level status functions in the publish workflow and improved health checks in the changelog detection workflow.
Key Changes
Version bump: Updated
reflex-releasepin from0.1.0a3to0.1.0a4in:pyproject.toml([tool.reflex-release] cli-command)Makefile(RELEASE_VERSION).github/workflows/*.yml)Workflow fixes in
publish.yml:!cancelled() && needs.<job>.result == 'success') topublishandtag-and-releasejobssuccess()evaluation that would allow skipped jobs to pass through when they should have runcustom-buildreplaces the tool's ownbuildjob, making the implicit logic dangerousImproved health checks in
release_from_changelog.yml:check_leg()function that distinguishes between legitimate skips (no packages to publish) and problematic skips (packages existed but job was skipped)detectoutput (ANYvariable) to determine whether each leg should have runDocumentation update in
spec/process/production-readiness.md:iffixes that landed in0.1.0a4custom-buildImplementation Details
The status function fixes address a subtle GitHub Actions behavior: without explicit
ifconditions, GitHub evaluates an implicitsuccess()over the entire transitive dependency closure rather than just directneeds. In this repository's case, the tool's ownbuildjob never runs (replaced bybuild_release_artifacts.yml), so it would silently pass through thecollectjob and allowpublishto proceed without uploading anything.The health check improvements ensure that
release_from_changelog.ymlcorrectly distinguishes between:detectfound no packages for it (healthy)https://claude.ai/code/session_01WQwrMGQWRmvM2hMQ1PpWEg
Summary by CodeRabbit
Bug Fixes
Chores
Documentation