You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
make routine ci/coverage SDE jobs soft-skip on Intel mirror outages for PR and push runs, while keeping manual workflow_dispatch fail-closed
add a tag-workflow release-avx512 job that fails closed and reruns the SDE CPUID probe plus AVX-512 tests before release assets can be staged
update release invariants/docs/changelog so releases cannot publish on skipped AVX-512 coverage
Root Cause
The post-merge main push run failed in setup-intel-sde: Intel downloadmirror returned a challenge payload, SHA-256 verification failed, and #255 had made push jobs fail closed. That made routine main CI red for an external mirror outage.
• Allow CI/coverage AVX-512 lanes to skip on Intel mirror outages for PR/push.
• Add release-avx512 job to re-prove SDE CPUID and AVX-512 tests on tags.
• Update docs and invariants so releases cannot publish on skipped AVX-512 coverage.
➖ Potentially harder to reproduce compared to GitHub-hosted runners
Recommendation: The PR’s approach is a good balance: keep routine PR/push CI resilient to third-party outages, while moving the fail-closed requirement into the tag-triggered release workflow where it matters for publishing. The added invariant checks reduce the risk of future drift, and the new release-avx512 dependency on asset staging ensures releases cannot proceed on a soft-skipped AVX-512 lane.
Files changed (7) +178 / -49
Tests (2) +72 / -25
release_publish_invariants.pyEnforce routine soft-skip vs release fail-closed SDE invariants+70/-23
Enforce routine soft-skip vs release fail-closed SDE invariants
• Generalizes SDE cache job checks to parameterize allow-unavailable, outage notice conditions, and whether SDE-dependent steps must be guarded. Adds invariant enforcement for the new release-avx512 job and ensures release-assets-draft needs it.
release_signed_release_invariants.shPin release-assets-draft dependencies to include release-avx512+2/-2
Pin release-assets-draft dependencies to include release-avx512
• Updates the signed release graph invariants to require release-avx512 as a dependency of release-assets-draft, preventing drift that would allow staging without AVX-512 proof.
CHANGELOG.mdDocument new release-time AVX-512 fail-closed guarantee+6/-5
Document new release-time AVX-512 fail-closed guarantee
• Updates the changelog entry to clarify that routine CI may soft-skip, but release publishing is blocked unless the tag workflow reruns and passes the SDE AVX-512 proof.
RELEASING.mdUpdate release invariants to rely on tag workflow AVX-512 proof+8/-6
Update release invariants to rely on tag workflow AVX-512 proof
• Reframes the operational guidance: routine CI/coverage may skip during mirror challenges, but release.yml’s release-avx512 job must pass before asset staging. Documents what to do if the cache misses and Intel download is unavailable.
ci.ymlSoft-skip SDE outages for PR and push runs+9/-8
Soft-skip SDE outages for PR and push runs
• Broadens Intel SDE outage soft-skip behavior from pull_request-only to all non-workflow_dispatch events. Updates the warning step to reflect that the release workflow has a separate fail-closed AVX-512 proof.
coverage.ymlSoft-skip SDE outages for routine coverage runs+4/-4
Soft-skip SDE outages for routine coverage runs
• Aligns coverage workflow behavior with CI by allowing SDE unavailability for all non-workflow_dispatch events. Updates the outage warning text to point to the release-time fail-closed proof.
release.ymlAdd fail-closed release-avx512 job and gate asset staging+79/-1
Add fail-closed release-avx512 job and gate asset staging
• Introduces a new release-avx512 job that installs Intel SDE (no soft-skip), runs an AVX-512 CPUID probe, and executes AVX-512 test lanes under SDE. Makes release-assets-draft depend on release-avx512 so release assets cannot be staged without this proof.
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
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.
Summary
ci/coverageSDE jobs soft-skip on Intel mirror outages for PR and push runs, while keeping manualworkflow_dispatchfail-closedrelease-avx512job that fails closed and reruns the SDE CPUID probe plus AVX-512 tests before release assets can be stagedRoot Cause
The post-merge
mainpush run failed insetup-intel-sde: Intel downloadmirror returned a challenge payload, SHA-256 verification failed, and #255 had made push jobs fail closed. That made routinemainCI red for an external mirror outage.Verification
python3 tests/release_publish_invariants.pybash tests/release_signed_release_invariants.shbash tests/release_publish_invariants.shgit diff --checkpython3 -m py_compile tests/release_publish_invariants.pygo install github.com/rhysd/actionlint/cmd/actionlint@v1.7.12 && "$(go env GOPATH)/bin/actionlint" -color .github/workflows/ci.yml .github/workflows/coverage.yml .github/workflows/release.yml