Skip to content

ci(release): make packaging channels propagate real status into the Release run - #220

Merged
remcostoeten merged 1 commit into
masterfrom
fix/release-channel-status
Jul 26, 2026
Merged

ci(release): make packaging channels propagate real status into the Release run#220
remcostoeten merged 1 commit into
masterfrom
fix/release-channel-status

Conversation

@remcostoeten

@remcostoeten remcostoeten commented Jul 26, 2026

Copy link
Copy Markdown
Owner

What

release.yml's six publish-*/build-flatpak jobs were fire-and-forget: gh workflow run <channel>.yml only confirms the dispatch was accepted, so the Release run — the thing a maintainer watches after tagging — showed all-green even if AUR checksum computation, the Homebrew tap push, Winget manifest generation, etc. later failed in a detached run.

How

  • aur.yml, brew.yml, apt.yml, winget.yml, snap.yml, flatpak.yml each gain a workflow_call trigger mirroring their workflow_dispatch inputs (all six already read inputs via the inputs. context, which serves both trigger types; snap's choice input becomes a plain string for the call trigger since workflow_call has no choice type — the dispatch UI keeps its dropdown).
  • release.yml replaces the six dispatch jobs with reusable-workflow calls (uses: ./.github/workflows/<x>.yml + secrets: inherit), with caller-job permissions matching each channel's needs (pages/id-token for APT, contents: write for the rest). A failure in any channel now turns the Release run red on that job.
  • workflow_dispatch stays on every channel workflow for manual single-channel re-runs.
  • docs/distribution/release-guide.md updated: a green Release run now means every channel published; no more checking six workflow histories under Actions.

Behavior notes

  • Channels now run at the tag's commit instead of master (reusable local uses: runs at the caller's ref). Tags are cut from master by release-dispatch moments earlier, so these are the same commit in practice — and pinning to the tag is the more reproducible choice.
  • Channel jobs now count toward the Release run's wall-clock, but total compute is unchanged (the same jobs ran before, just detached).

Verification

  • actionlint clean on all seven workflows; YAML parses.
  • Full end-to-end validation necessarily happens on the next real release tag — worth watching that run's phase-5 jobs.

Closes #202

Summary by Sourcery

Integrate package manager channel workflows directly into the main Release workflow so their success or failure is reflected in the Release run, and update documentation to describe the new behavior.

Enhancements:

  • Replace fire-and-forget workflow dispatches in release.yml with reusable workflow calls for AUR, Homebrew, APT, Winget, Snap, and Flatpak, using appropriate permissions and passing the release tag.
  • Add workflow_call triggers with matching inputs to each channel workflow (aur.yml, brew.yml, apt.yml, winget.yml, snap.yml, flatpak.yml) so they can be invoked from the Release workflow while retaining manual workflow_dispatch runs.
  • Ensure package manager jobs now run at the tagged commit and count as part of the Release workflow’s wall-clock time, without increasing total compute.

Documentation:

  • Revise the release guide to explain that phase-5 package manager jobs run as reusable workflows whose outcomes determine the Release run status, removing the need to inspect separate workflow histories and clarifying the new “all channels green means release green” behavior.

@vercel

vercel Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dora Ready Ready Preview, Comment Jul 26, 2026 2:43pm

@sourcery-ai

sourcery-ai Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

🧙 Sourcery is reviewing your pull request!


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@remcostoeten, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 12 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f559f20f-627b-45ab-b384-5e794dcebf05

📥 Commits

Reviewing files that changed from the base of the PR and between 05e9077 and f3cb221.

📒 Files selected for processing (8)
  • .github/workflows/apt.yml
  • .github/workflows/aur.yml
  • .github/workflows/brew.yml
  • .github/workflows/flatpak.yml
  • .github/workflows/release.yml
  • .github/workflows/snap.yml
  • .github/workflows/winget.yml
  • docs/distribution/release-guide.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-channel-status

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.

…elease run

The six publish-*/build-flatpak jobs used fire-and-forget 'gh workflow run' dispatches, so release.yml stayed green even when AUR/Homebrew/APT/Winget/Snap/Flatpak publishing later failed. The channel workflows now also accept workflow_call and release.yml invokes them as reusable-workflow jobs, so each channel's real outcome is a job status inside the Release run. workflow_dispatch triggers are kept for manual single-channel re-runs. Release guide updated to document that a green Release run now means every channel published.

Closes #202
@remcostoeten
remcostoeten merged commit ff36fe9 into master Jul 26, 2026
10 checks passed
@remcostoeten
remcostoeten deleted the fix/release-channel-status branch July 26, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant