Repository navigation
feat: discover eligible releases and prepare their edition pull requests - #385
Merged
Merged
Conversation
brendanclement
force-pushed
the
brendan/release-discovery-r2
branch
from
October 22, 2026 20:11
a95323a to
7994eec
Compare
brendanclement
force-pushed
the
brendan/supervised-publication
branch
2 times, most recently
from
October 22, 2026 20:56
fa15b1b to
e25ba00
Compare
brendanclement
force-pushed
the
brendan/release-discovery-r2
branch
from
October 22, 2026 20:56
7994eec to
c469100
Compare
brendanclement
marked this pull request as ready for review
October 22, 2026 20:58
brendanclement
force-pushed
the
brendan/release-discovery-r2
branch
from
October 22, 2026 23:03
f13d29d to
ee62f3f
Compare
brendanclement
force-pushed
the
brendan/supervised-publication
branch
from
October 22, 2026 23:03
e25ba00 to
138eb81
Compare
rpgreen
reviewed
Oct 23, 2026
| if [ "$EVENT" = workflow_dispatch ]; then | ||
| git fetch --no-tags --unshallow origin +refs/heads/main:refs/remotes/origin/main | ||
| BASE_SHA=$(git merge-base HEAD refs/remotes/origin/main) | ||
| elif [ -n "$BASE_SHA" ] && [ "$BASE_SHA" != 0000000000000000000000000000000000000000 ]; then |
Contributor
There was a problem hiding this comment.
what's up with that magic sha?
Contributor
Author
There was a problem hiding this comment.
Added a comment, this is to catch an edge case where there is no previous commit, github returns all zeros. in that case we just want to not compare it to anything.
rpgreen
approved these changes
Oct 23, 2026
brendanclement
force-pushed
the
brendan/release-discovery-r2
branch
from
October 23, 2026 16:19
ee62f3f to
a18a56f
Compare
brendanclement
force-pushed
the
brendan/supervised-publication
branch
from
October 23, 2026 16:19
138eb81 to
0a50e41
Compare
brendanclement
force-pushed
the
brendan/release-discovery-r2
branch
from
October 23, 2026 16:24
a18a56f to
caab315
Compare
brendanclement
force-pushed
the
brendan/supervised-publication
branch
from
October 23, 2026 16:24
0a50e41 to
ca54ea2
Compare
scripts/discover.py lists each product's releases from the release discover.yaml names on. An Enterprise release is eligible once its release tag and an annotated qualification tag name the same commit, and an OSS release once its GitHub release is published and not a prerelease. A release with no saved edition, pull request or branch is prepared with edition.py prepare on editions/<product>-<version>, checked against main, pushed and given a pull request. A dry run reports each release's exact inputs and writes nothing. The Discover releases workflow runs it only when started by hand. Its open-prs mode runs on main once the RELEASE_DISCOVERY repository variable allows it, and starts Compose and Assemble on each branch, since the workflow token's pushes start no workflows. A dispatched Compose run checks the branch against the commit of main it was made from.
Discovery checked a release's tags, and an OSS edition's Enterprise pages against the commit their edition records, then fetched the tags and prepared from whatever they named by then. A tag that moved in between was prepared and proposed. It now carries what it checked into preparation: the record preparation would write, and the prepared record before anything is committed, must name the same release commit, qualification tag object and Enterprise pages commit, or the release stops for review. Discovery started Compose and then Assemble on a new pull request, but later looked only for Compose, so an Assemble dispatch that failed was never retried. It now looks for each check workflow's runs of the pull request's head and starts only those that have none, each on its own, never rerunning one that has run. A dispatch that fails names its workflow. Reading the runs needs the job's Actions permission, so it no longer asks for checks: read.
…leases without naming them
brendanclement
force-pushed
the
brendan/release-discovery-r2
branch
from
October 23, 2026 16:28
caab315 to
a205b2f
Compare
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.
We can now save a release’s documentation, build the versioned site and publish it through staging. Someone still has to notice each new release and start preparing its docs.
This PR adds a job that finds eligible releases and opens a documentation PR for each one.
The job uses the existing preparation command and records the exact sources used. Running it again keeps existing editions, corrections and reviewers’ changes. If it stopped partway through, it can finish opening the PR or starting its checks.
People still review and merge those PRs. Discovery never merges, publishes or changes an existing preferred edition.
Next Steps