Repository navigation
ci: migrate demo macOS validation to macos-15 runner - #79
codeforester merged 2 commits into
Conversation
codeforester
left a comment
There was a problem hiding this comment.
Review: the change itself is correct, but this PR cannot go green as-is. Required consumer and artifact validation is structurally unable to pass. Reviewed all 4 files at 5f344c1.
Blocking: the required-check poller runs from main, not from this branch
required-checks.yml triggers on pull_request_target, so GitHub loads the workflow definition from main, where expected_names_json still lists Standalone artifact (macos-14). This PR's tests.yml now emits Standalone artifact (macos-15), so the poller sees Standalone artifact (macos-14)=missing/pending on every attempt and exits with "Timed out waiting for the pull-request test lanes for 5f344c1…" (run 38950549061). The required-checks.yml edit in this PR therefore cannot affect its own check. That check is a required status in the "Base default branch protection" ruleset, and the ruleset has no bypass actors.
Every lane it is waiting on is in fact green: Ubuntu validation, Minimum runtime (Bash 4.2.53), macOS Homebrew Bash validation, and Standalone artifact (ubuntu-24.04) and (macos-15).
Ways forward:
- The workflow has a
workflow_dispatchentry (inputspull_request_number,head_sha). Dispatching it from the PR branch should run this branch's copy of the file:
gh workflow run required-checks.yml --ref ci/78-20261017-move-demo-validation-from-macos-14-to-macos-15 -f pull_request_number=79 -f head_sha=5f344c175e8856227bca882d5fe098833363faef
If the ruleset accepts that run's check for the same name, this is the lightest fix. Please confirm it actually satisfies the required status before relying on it. - If it does not, use a two-step change: first a
main-side change so the poller tolerates either name for the macOS leg (or derives the expected lanes fromtests.yml), then this rename, then drop the tolerance. The alternative is relaxing the ruleset for this one merge.
Unrelated failure: Sync issue and PR Project fields (Project Intake) failed on a GitHub GraphQL rate limit ("API rate limit already exceeded") while linking the PR to the issue, after its one retry. Re-run the failed job; it is not caused by this diff.
Otherwise fine: no macos-14 remains anywhere on the branch (workflows or docs), and the three workflow edits and the doc line match the issue scope. Supported Bash/Homebrew and Ubuntu behaviour is untouched. The acceptance criterion "required-check polling expects the new macos-15 check name" is met by the diff; it just cannot be demonstrated by this PR's own run.
| fi | ||
|
|
||
| expected_names_json='["Ubuntu validation","Minimum runtime (Bash 4.2.53)","macOS Homebrew Bash validation","Standalone artifact (ubuntu-24.04)","Standalone artifact (macos-14)"]' | ||
| expected_names_json='["Ubuntu validation","Minimum runtime (Bash 4.2.53)","macOS Homebrew Bash validation","Standalone artifact (ubuntu-24.04)","Standalone artifact (macos-15)"]' |
There was a problem hiding this comment.
This edit cannot take effect for this PR's own run: pull_request_target loads required-checks.yml from main, which still expects Standalone artifact (macos-14). See the review summary for ways forward.
## Summary Follow-up for #78. The pull_request_target required-check poller runs the workflow definition from main, so the runner rename in #79 cannot update its own required check. This bridge accepts either the historical Standalone artifact (macos-14) lane or the new Standalone artifact (macos-15) lane while the migration lands. ## Validation - Parsed the workflow YAML. - Exercised the lane-summary jq against the existing PR test-run jobs. - This bridge keeps the macOS lane mutually exclusive by selecting the latest matching macOS artifact job. This PR should merge before #79, then #79 should be synchronized and its required checks rerun. The old-name tolerance can be removed after the ecosystem migration is complete.
…emo-validation-from-macos-14-to-macos-15 # Conflicts: # .github/workflows/required-checks.yml
Closes #78.
Part of the coordinated train anchored by basefoundry/base#2604.
Changes:
macos-15.macos-14evidence.Local validation:
tests/validate.shpassed after preparing the pinned SPDX validator with the normal setup contract.git diff --checkpassed.