Merge origin/master into ci/offload-coverage-to-vm-backup

One semantic conflict on the `all-checks-passed` verdict job. Master moved
it to `ubuntu-latest`; this branch had routed it through the failover
selector so a hosted-pool outage could not leave the required verdict
queued. Master's resolution satisfies that requirement more directly:
standard hosted capacity is independent of both custom pools, so the
verdict is reachable whichever pool is degraded, and the selector is no
longer needed. Kept `ubuntu-latest` and folded the failover reasoning
into its comment.

The failover runbook accordingly documents three failover jobs (the three
required Linux workers), not four, and states why the verdict stays on
standard hosted capacity in both states.
This commit is contained in:
Chinesezjc
2026-07-27 16:32:17 +08:00
4 files changed
+16 -20

No files matched your search

+6 -10
View File
@@ -780,16 +780,12 @@ jobs:
# 'cancelled' and 'skipped'.
all-checks-passed:
name: all checks passed
# The required verdict must not add a separate standard-hosted billing
# dependency — and it must follow the failover selector like the worker
# jobs it aggregates: if it stayed pinned to the hosted pool, every
# failover-passed run would still leave the branch-protection verdict
# queued forever on the failed pool.
runs-on: >-
${{ vars.DSH_CI_FAILOVER == 'selfhosted'
&& github.event.pull_request.user.login != 'dependabot[bot]'
&& fromJSON('["self-hosted", "linux", "x64", "vm-backup"]')
|| 'dsh-enterprise-ubuntu-latest-32core-test' }}
# This bookkeeping-only verdict must not depend on custom-pool provisioning.
# Standard hosted capacity is also what keeps it out of the failover path:
# pinned to either custom pool, an outage of that pool would leave the
# branch-protection verdict queued forever even after every worker job
# passed on the other pool.
runs-on: ubuntu-latest
needs: [node-24, node-24-coverage, node-24-consumers, node-compat, python-sdk, windows]
if: always() && github.event_name == 'pull_request'
steps: