Skip to content

Make os_filter a choice and fail when it matches no runner - #10

Merged
boutinb merged 1 commit into
masterfrom
fix-os-filter
Oct 1, 2026
Merged

boutinb merged 1 commit into
masterfrom
fix-os-filter

Conversation

@boutinb

@boutinb boutinb commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Why

Run 36855880763 was dispatched with os_filter=windows-latest. Since #9 the Windows runner is windows-2022, so that filter matched no entry and the build matrix came out empty. GitHub doesn't treat an empty matrix as an error: the build job simply didn't run, release was skipped, and the run turned red without any error message.

What changed

  • os_filter is now a dropdown (type: choice) listing all plus the actual runner names, so a stale or mistyped runner can't be picked from the UI. The default is all.
  • The setup job 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.
  • setup now decides once whether this is a full build. all and an empty filter (as the commented-out schedule trigger would give) both count. The release steps use that result instead of testing os_filter == ''.

Testing

  • Ran the setup script locally for all, windows-2022 and windows-latest. The first two give the expected matrix and full_build value; the third fails with os_filter 'windows-latest' matches no runner. Valid values: all, ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-15, windows-2022.
  • Dispatched from this branch with os_filter=windows-2022, release_tag=syntaxinterface-test: run 36857350346 (running at the time of writing).

🤖 Generated with Claude Code

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>
@boutinb
boutinb merged commit 7ef7341 into master Oct 1, 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