Make os_filter a choice and fail when it matches no runner - #10
Merged
Merged
Conversation
Since the Windows runner was renamed to windows-2022, dispatching with the old os_filter=windows-latest produced an empty matrix. GitHub does not treat that as an error: the build job silently did not run, the release job was skipped, and the run just showed up red without saying why. Offer the runner names as a dropdown, so a stale or mistyped value cannot be chosen, and make the setup job fail with the list of valid values when a filter still matches nothing. Whether this is a full build (which refreshes SHA256SUMS and the release notes) is now decided once in setup, where 'all' and an empty filter (e.g. from the commented-out schedule) both count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Why
Run 36855880763 was dispatched with
os_filter=windows-latest. Since #9 the Windows runner iswindows-2022, so that filter matched no entry and the build matrix came out empty. GitHub doesn't treat an empty matrix as an error: thebuildjob simply didn't run,releasewas skipped, and the run turned red without any error message.What changed
os_filteris now a dropdown (type: choice) listingallplus the actual runner names, so a stale or mistyped runner can't be picked from the UI. The default isall.setupjob fails with an explicit error listing the valid values if a filter still matches nothing, for example after the matrix and the dropdown drift apart.setupnow decides once whether this is a full build.alland an empty filter (as the commented-outscheduletrigger would give) both count. The release steps use that result instead of testingos_filter == ''.Testing
setupscript locally forall,windows-2022andwindows-latest. The first two give the expected matrix andfull_buildvalue; the third fails withos_filter 'windows-latest' matches no runner. Valid values: all, ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-15, windows-2022.os_filter=windows-2022,release_tag=syntaxinterface-test: run 36857350346 (running at the time of writing).🤖 Generated with Claude Code