Skip to content

Verify release train workflow files exist before creating a release branch - #18

Merged
ryanjbaxter merged 2 commits into
mainfrom
verify-release-train-workflows-17
Aug 30, 2026
Merged

Verify release train workflow files exist before creating a release branch#18
ryanjbaxter merged 2 commits into
mainfrom
verify-release-train-workflows-17

Conversation

@ryanjbaxter

@ryanjbaxter ryanjbaxter commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Fixes #17

create-commercial-release-branch.yml dispatches release-train-join.yml on the new release branch as its last step, but never checked that the release train workflows were there. Because the release branch inherits its workflows from the source branch, a source branch that has not been through the workflow generator fails at that final dispatch — after the milestone, the release branch, the rewritten CI/PR workflows, and the config/projects.json entry have all already been created and have to be undone by hand.

The check

A new Verify release train workflows exist on source branch step runs immediately after the tag/release existence check and before the milestone is created. It checks spring-cloud/<project> at the source branch, and on a miss fails with a message naming each missing file, the branch it was expected on, and the generator workflow to run. Verifying up front means a failure leaves nothing to clean up.

Shared action

The file list now has one definition. create-oss-release-branch.yml and create-hotfix-release-branch.yml each carried their own copy of the same loop over release-train-join.yml and release-train-ready.yml; all three now call .github/actions/check-release-train-workflows, which reports any-missing and missing and takes a fail-on-missing input.

Behaviour of the two existing callers is unchanged — they still generate the missing files rather than failing. The refactor does mean:

  • both ensure-workflows jobs now check out this repo unconditionally, since the composite action is local; the checkout used to be gated on needs-generation
  • the JDK lookup, previously always run in the same step as the presence check, is now its own step gated on any-missing == 'true' — it is only ever consumed by the generator

As #17 notes, whether the commercial path should also generate the missing files is a separate decision; this is the minimum.

…ranch. Fixes #17

Signed-off-by: Ryan Baxter <ryan.baxter@broadcom.com>
All three branch-creation workflows checked for the same two files with
their own copy of the loop.  Extract check-release-train-workflows so the
list has one definition; callers choose between generating the missing
files and failing fast via fail-on-missing.

Signed-off-by: Ryan Baxter <ryan.baxter@broadcom.com>
@ryanjbaxter
ryanjbaxter merged commit efae7fa into main Aug 30, 2026
23 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.

Verify release train workflow files exist before creating a release branch

1 participant