Repository navigation
Phase 5.5E4b repository inventory, package mirrors, qualification mir… #62
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
| # Mandatory hosted Windows MSVC qualification (Phase 5.5 D4d). | |
| # | |
| # The authoritative Windows receipt for BatPak is x86_64-pc-windows-msvc: | |
| # compile, link, run, test, source binding, artifact binding. Local machines | |
| # hold only supplemental GNU receipts and never install MSVC Build Tools; this | |
| # hosted runner carries link.exe and the Windows SDK. | |
| # | |
| # A repository-caused failure here blocks Phase 6. A runner-infrastructure | |
| # failure is evidence of an unavailable runner, never converted into a pass. | |
| name: msvc-qualification | |
| on: | |
| push: | |
| branches: [cleanroom, main] | |
| workflow_dispatch: | |
| jobs: | |
| qualify: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: toolchain evidence | |
| shell: pwsh | |
| run: | | |
| rustc -vV | |
| python --version | |
| if ((rustc -vV | Select-String "host:").ToString() -notmatch "x86_64-pc-windows-msvc") { | |
| Write-Error "runner host triple is not x86_64-pc-windows-msvc" | |
| exit 1 | |
| } | |
| # The four gates, in canonical order, against the exact checked-out tree. | |
| # selftest's Tier 0 receipts compile, link, and RUN seedcheck, | |
| # materialize, and the seedcheck --test harness on the MSVC host triple, | |
| # artifact-bound and source-bound; the law fixtures exercise the | |
| # compile-fail refusals through the same toolchain. | |
| - name: project --check | |
| run: python bootstrap/project.py --check | |
| - name: audit | |
| run: python bootstrap/audit.py | |
| - name: freeze --check | |
| run: python bootstrap/freeze.py --check | |
| # One run: the suite must pass AND every receipt in the canonical Tier 0 | |
| # denominator (REQUIRED_TIER0_RECEIPTS in selftest.py) must be executed, | |
| # passed, artifact-bound where the receipt binds an artifact, and bound | |
| # to the MSVC triple. The denominator lives in ONE place — selftest — | |
| # and --require-receipts turns any unearned or misbound receipt into a | |
| # nonzero exit, so this lane cannot stay green when a receipt disappears, | |
| # never executes, or falls back to another target. The prior shape — a | |
| # PowerShell loop over a copied three-receipt list — went green while | |
| # tier0-law-fixtures and tier0-spec-tests were never required at all. | |
| - name: selftest (Tier 0 receipts on MSVC) | |
| run: python bootstrap/selftest.py --require-receipts x86_64-pc-windows-msvc |