Skip to content

build(release): harden the release tools workflow - #4256

Merged
rickeylev merged 1 commit into
bazel-contrib:mainfrom
rickeylev:release_tools_followups
Oct 13, 2026
Merged

rickeylev merged 1 commit into
bazel-contrib:mainfrom
rickeylev:release_tools_followups

Conversation

@rickeylev

Copy link
Copy Markdown
Collaborator

The release tools workflow could drift from dev/platforms unnoticed,
hold a runner for six hours if a build hung, and only warn when a job
asked for a platform that its ref lacks. It also didn't check that the
Windows files are for the right CPU, though the i686 one is
cross-compiled.

A test now checks that the workflow's matrix and dev/platforms name the
same platforms. Jobs time out after 30 minutes; builds take a few
minutes. build.sh fails with an error if dev/platforms lacks the job's
platform, since that's the caller's mistake; other build failures still
only warn. Jobs still skip the build for refs without dev/platforms,
like older release branches. verify.sh checks that each Windows file is
a PE file for the triple's CPU, reading the machine type from the PE
header because file's descriptions change between versions.

Also explains the "musleabihf" suffix in dev/platforms, and notes in
RELEASING.md that a failed "Build tools" job doesn't block a release.

Work towards #4216 (follow-up to #4248)

The release tools workflow could drift from dev/platforms unnoticed,
hold a runner for six hours if a build hung, and only warn when a job
asked for a platform that its ref lacks. It also didn't check that the
Windows files are for the right CPU, though the i686 one is
cross-compiled.

A test now checks that the workflow's matrix and dev/platforms name the
same platforms. Jobs time out after 30 minutes; builds take a few
minutes. build.sh fails with an error if dev/platforms lacks the job's
platform, since that's the caller's mistake; other build failures still
only warn. Jobs still skip the build for refs without dev/platforms,
like older release branches. verify.sh checks that each Windows file is
a PE file for the triple's CPU, reading the machine type from the PE
header because `file`'s descriptions change between versions.

Also explains the "musleabihf" suffix in dev/platforms, and notes in
RELEASING.md that a failed "Build tools" job doesn't block a release.

Work towards bazel-contrib#4216 (follow-up to bazel-contrib#4248)
@rickeylev
rickeylev requested a review from aignas as a code owner October 13, 2026 04:38
@rickeylev
rickeylev merged commit 86809f1 into bazel-contrib:main Oct 13, 2026
5 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.

1 participant