feat(publish): extract communique into separate enhance-release job#513
feat(publish): extract communique into separate enhance-release job#513
Conversation
communique uses GET /releases/tags/{tag} to find the release, which only
returns published releases. Running it after gh release edit --draft=false
guarantees the release is visible.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Running communique in its own job means it can be re-run independently if it fails (e.g. due to Anthropic rate limits), without re-running the full release pipeline. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #513 +/- ##
=======================================
Coverage 77.88% 77.88%
=======================================
Files 48 48
Lines 6660 6660
Branches 6660 6660
=======================================
Hits 5187 5187
Misses 1109 1109
Partials 364 364 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
### 🚀 Features - **(publish)** extract communique into separate enhance-release job by [@jdx](https://github.com/jdx) in [#513](#513)
There was a problem hiding this comment.
Pull request overview
This PR refactors the communique generate command execution by moving it from the release job into a new dedicated enhance-release job. This architectural change allows the release note enhancement step to be independently re-run from the GitHub Actions UI if it encounters failures such as API rate limits or transient errors, without requiring the entire release process to be re-executed.
Changes:
- Removed
communique generatestep from thecreate-releasejob (including thecontinue-on-error: trueflag) - Added a new
enhance-releasejob that runs after thereleasejob to executecommunique generate - The new job includes proper checkout, mise setup, and environment configuration for the Anthropic API
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| enhance-release: | ||
| runs-on: ubuntu-latest | ||
| needs: [release] | ||
| if: ${{ startsWith(github.ref, 'refs/tags/v') }} |
There was a problem hiding this comment.
The enhance-release job has a condition if: ${{ startsWith(github.ref, 'refs/tags/v') }}, but this is redundant since it depends on the release job which already has the same condition. If the release job doesn't run, enhance-release won't run either.
However, there's a more critical issue: when workflow_dispatch is triggered, the release job runs but skips the gh release edit --draft=false step (line 123). This means the release remains in draft state, but enhance-release will still attempt to run. According to the PR description, communique needs the release to be published and visible. The condition should be updated to match line 123's condition to ensure enhance-release only runs when the release is actually published.
| if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
| if: ${{ github.event_name != 'workflow_dispatch' }} |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [usage](https://github.com/jdx/usage) | minor | `2.17.0` → `2.18.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>jdx/usage (usage)</summary> ### [`v2.18.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#2180---2026-02-18) [Compare Source](jdx/usage@v2.17.4...v2.18.0) ##### 🚀 Features - **(publish)** extract communique into separate enhance-release job by [@​jdx](https://github.com/jdx) in [#​513](jdx/usage#513) ### [`v2.17.4`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#2174---2026-02-18) [Compare Source](jdx/usage@v2.17.0...v2.17.4) ##### 🐛 Bug Fixes - **(publish)** retry draft release creation until tag is indexed by [@​jdx](https://github.com/jdx) in [#​510](jdx/usage#510) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNC4yIiwidXBkYXRlZEluVmVyIjoiNDMuMjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90IiwiYXV0b21hdGlvbjpib3QtYXV0aG9yZWQiLCJkZXBlbmRlbmN5LXR5cGU6Om1pbm9yIl19-->
Summary
communique generateout of thereleasejob into a dedicatedenhance-releasejob that runs afterreleasegh release edit --draft=falseso the release is published and visible to communiqueTest plan
enhance-releaseappears as a separate job in the workflow run🤖 Generated with Claude Code
Note
Low Risk
Only adjusts GitHub Actions job orchestration; no application/runtime code changes, with the main risk being altered release workflow timing/dependencies.
Overview
Moves release-note enhancement (
communique generate ... --github-release) out of the release creation flow into a newenhance-releasejob that runs afterrelease.This makes the AI-backed release-notes step independent/re-runnable and ensures it runs against the published release (adds
fetch-depth: 0to the checkout in that job).Written by Cursor Bugbot for commit 379d1d0. This will update automatically on new commits. Configure here.