Always trigger downstream deploys on release - #353
Conversation
The downstream deploy was gated on commit_push.pushed == 'true', so when release-it already synced version artifacts to main before the tag fired, sync-main found nothing to commit and silently skipped the deploy — leaving the configurator stuck on the previous version. Remove the condition so deploy-configurator.yml and publish-dist.yml are dispatched on every release, whether or not main needed a version artifact update. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EbKb1xhzQ6ctoq5T6dC6BM
📝 WalkthroughWalkthroughIn ChangesRelease Workflow Dispatch
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/release.yml (1)
207-216:⚠️ Potential issue | 🟠 Major | ⚡ Quick winDispatches are not actually independent despite the comment.
Line 212 says one failure won’t block the other, but with the current sequential
runblock, a failedgh workflow run deploy-configurator.ymlcan stop execution beforepublish-dist.ymlis dispatched. That breaks the “always dispatch both on release” goal.Suggested fix
- name: Trigger downstream deploys env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | # Always redeploy on every release, regardless of whether main needed # a version-artifact commit. When release-it already pushed the bump # before the tag fired, commit_push.pushed is false but the deploy # must still run so the configurator reflects the new version. # GITHUB_TOKEN CAN trigger workflow_dispatch (actions:write granted above). # Each call is independent so one failure does not prevent the other. - gh workflow run deploy-configurator.yml --ref main - echo "Dispatched deploy-configurator.yml" - gh workflow run publish-dist.yml --ref main - echo "Dispatched publish-dist.yml" + fail=0 + if gh workflow run deploy-configurator.yml --ref main; then + echo "Dispatched deploy-configurator.yml" + else + echo "::error::Failed to dispatch deploy-configurator.yml" + fail=1 + fi + + if gh workflow run publish-dist.yml --ref main; then + echo "Dispatched publish-dist.yml" + else + echo "::error::Failed to dispatch publish-dist.yml" + fail=1 + fi + + exit "$fail"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/release.yml around lines 207 - 216, The two sequential gh workflow run commands for deploy-configurator.yml and publish-dist.yml are not actually independent because a failure in the first gh workflow run call will halt execution and prevent the second from being dispatched. To ensure both workflow dispatches always execute regardless of individual failures, modify each gh workflow run command to continue execution even if it fails, either by appending || true to each command or by restructuring them to execute in parallel or with explicit error handling that allows the next command to proceed.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/release.yml:
- Around line 207-216: The two sequential gh workflow run commands for
deploy-configurator.yml and publish-dist.yml are not actually independent
because a failure in the first gh workflow run call will halt execution and
prevent the second from being dispatched. To ensure both workflow dispatches
always execute regardless of individual failures, modify each gh workflow run
command to continue execution even if it fails, either by appending || true to
each command or by restructuring them to execute in parallel or with explicit
error handling that allows the next command to proceed.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: e23efadf-cd14-4bca-9d25-eb69f4788e8f
📒 Files selected for processing (1)
.github/workflows/release.yml
Both gh workflow run calls shared a single sequential run block, so a failure in deploy-configurator.yml would prevent publish-dist.yml from ever being dispatched. Use explicit error tracking so both dispatches always execute, then exit with a non-zero code if either failed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EbKb1xhzQ6ctoq5T6dC6BM
Summary
Remove the conditional check that prevented downstream deployment workflows from running when no version-artifact commit was needed, ensuring deploys always execute on every release.
Key Changes
if: steps.commit_push.outputs.pushed == 'true'condition from the "Trigger downstream deploys" job steprelease-itmay have already pushed the bump before the tag was createdImplementation Details
The previous logic only triggered
deploy-configurator.ymlandpublish-dist.ymlworkflows when a new commit was pushed to main. However, whenrelease-itpushes the version bump before the tag is created, thecommit_push.pushedoutput is false, causing the deploy workflows to be skipped even though a new version exists. By removing this condition, the deploy workflows now always run on release, ensuring the configurator and published artifacts always reflect the latest version.https://claude.ai/code/session_01EbKb1xhzQ6ctoq5T6dC6BM
Summary by cubic
Always trigger downstream deploy workflows on every release, and run both dispatches even if one fails.
Removed the
commit_push.outputs.pushedgate and added explicit error tracking sodeploy-configurator.ymlandpublish-dist.ymlare both dispatched, then exit non-zero if either dispatch fails.Written for commit 834c807. Summary will update on new commits.
Summary by CodeRabbit