Skip to content

Always trigger downstream deploys on release - #353

Merged
jackgranatowski merged 2 commits into
mainfrom
claude/gifted-hypatia-nhh1fb
Jun 19, 2026
Merged

Always trigger downstream deploys on release#353
jackgranatowski merged 2 commits into
mainfrom
claude/gifted-hypatia-nhh1fb

Conversation

@jackgranatowski

@jackgranatowski jackgranatowski commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

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

  • Removed the if: steps.commit_push.outputs.pushed == 'true' condition from the "Trigger downstream deploys" job step
  • Updated the comment to clarify that deploys must run regardless of whether a version bump commit was pushed, since release-it may have already pushed the bump before the tag was created

Implementation Details

The previous logic only triggered deploy-configurator.yml and publish-dist.yml workflows when a new commit was pushed to main. However, when release-it pushes the version bump before the tag is created, the commit_push.pushed output 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.pushed gate and added explicit error tracking so deploy-configurator.yml and publish-dist.yml are both dispatched, then exit non-zero if either dispatch fails.

Written for commit 834c807. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Chores
    • Updated internal release workflow configuration to ensure consistent deployment processes.

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
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

In .github/workflows/release.yml, the sync-main job's "Trigger downstream deploys" step is changed to run unconditionally on every release tag. The prior if: steps.commit_push.outputs.pushed == 'true' condition is removed, so deploy-configurator.yml and publish-dist.yml are always dispatched regardless of whether a version-artifact commit was pushed.

Changes

Release Workflow Dispatch

Layer / File(s) Summary
Remove conditional gate on downstream dispatch
.github/workflows/release.yml
The if condition gating gh workflow run dispatches on commit_push.outputs.pushed == 'true' is removed. Comments are updated to note that redeploys happen on every release, and that the two dispatches are independent.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • codeslash-dev/SLASHED#320: Modifies the same sync-main "Trigger downstream deploys" step in release.yml, directly related to the conditional dispatch logic being changed here.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and concisely describes the main change: making downstream deploys trigger unconditionally on every release, which is the primary modification to the release workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/gifted-hypatia-nhh1fb

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 win

Dispatches are not actually independent despite the comment.

Line 212 says one failure won’t block the other, but with the current sequential run block, a failed gh workflow run deploy-configurator.yml can stop execution before publish-dist.yml is 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

📥 Commits

Reviewing files that changed from the base of the PR and between 0f8715d and 5ff18b6.

📒 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
@jackgranatowski
jackgranatowski merged commit 76d96a7 into main Jun 19, 2026
14 checks passed
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