Repository navigation
Run release-prs automatically when a release is published - #7249
Open
janniklasrose wants to merge 2 commits into
Open
janniklasrose wants to merge 2 commits into
janniklasrose wants to merge 2 commits into
Conversation
Trigger release-prs on the release 'released' event so the downstream setup-cli, homebrew-tap, VS Code and winget updates no longer need a manual dispatch. A new resolve job only lets release-triggered runs proceed when the tag is the highest released version, so patch releases for older versions don't move the downstream repos backwards. Manual dispatch keeps its existing inputs and behavior. Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Collaborator
Integration test reportCommit: 8b49a16
Top 6 slowest tests (at least 2 minutes):
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
release-prsnow also runs on thereleaseevent (types: [released]), so the setup-cli, homebrew-tap, VS Code extension and winget updates no longer need a manual dispatch after each release.resolvejob outputs the tag (inputs.tag, or the release'stag_nameon release events) and the dry-run flag (always off for release events). All jobs now read these instead ofinputs.*, becauseinputsis empty on non-dispatch events.resolveonly lets the downstream jobs run if the tag is the highest published (non-draft, non-prerelease) release version. If it isn't, the run is skipped with a::notice::.workflow_dispatchworks as before: same inputs, per-target toggles, dry run on by default, and no version check. It's still the way to retry, run a partial update, or push a release by hand.Why
The downstream repos only follow the latest version: homebrew-tap has a single formula, VS Code bundles one CLI version, and setup-cli's
@mainuses theVERSIONfile on main. Patch releases for older versions must not move them backwards. On 2026-04-19, 86 old-version patch releases (v0.210.4 to v0.296.1) were published while v0.297.2 was the newest release. With an unguarded trigger, each of them would have opened PRs in every downstream repo.The check compares semver against all published releases instead of using
releases/latest. The "latest" flag is set by the publishing bot (oss-cli[bot]), and I couldn't confirm how it setsmake_latestfor backports. GitHub's default for newly published releases istrue.The trigger is
released, notpublished, so prereleases are skipped. The release is created as a draft and published only after all assets are uploaded (for v1.23.0: assets at 12:13:11–14Z, published at 12:13:15Z), so the SHA256SUMS and Windows zips that the homebrew-tap and winget jobs read are already there.oss-cli[bot]is a GitHub App, so its publish triggers workflows; theGITHUB_TOKENrestriction doesn't apply.For release events GitHub uses the workflow file at the tagged commit, so the first automatic run will be the first release cut after this merges.
Tests
v1.23.0, so a run for v1.23.0 would go ahead and a run for a backport like v0.296.1 would be skipped.sort -Vorders v1.x above v0.299.x. All 293 published release tags are plainvX.Y.Z.ubuntu-latest-deco, which the existing jobs already use. No expression or job-wiring errors.This pull request and its description were written by Isaac.