|
|
@@ -306,10 +306,10 @@ jobs:
|
|
|
targets: node24-linux-x64
|
|
|
ci: true
|
|
|
|
|
|
- # The required pull-request Windows signal: the two blocking win32 surfaces
|
|
|
- # (workspace build, production site) execute with real, checksum-verified
|
|
|
- # Windows Node under Wine on standard hosted Linux. The independent
|
|
|
- # windows-native job below keeps the complete native-kernel inventory —
|
|
|
+ # The pull-request Windows signals cover complementary hosts. The two fast
|
|
|
+ # win32 toolchain surfaces (workspace build, production site) execute with
|
|
|
+ # real, checksum-verified Windows Node under Wine on standard hosted Linux.
|
|
|
+ # The windows-native job below keeps the complete native-kernel inventory —
|
|
|
# including the observational portability gates this lane does not run —
|
|
|
# on real Windows. This job only provisions runner state (caches,
|
|
|
# apt); scripts/wine-windows-gates.sh owns the gate logic and is the same
|
|
|
@@ -396,13 +396,12 @@ jobs:
|
|
|
if: always()
|
|
|
run: wineserver -k 2>/dev/null || true
|
|
|
|
|
|
- # Every pull request also gets a real Windows-kernel signal. This job keeps
|
|
|
- # its own unmasked conclusion but is deliberately absent from
|
|
|
- # all-checks-passed.needs, so it never delays or changes that required
|
|
|
- # verdict. Under normal operation it runs on the hosted larger runner; under
|
|
|
- # Windows failover (DSH_CI_FAILOVER_WINDOWS=selfhosted) it retargets onto the
|
|
|
- # in-house self-hosted Windows pool. Dependabot PRs are excluded from the
|
|
|
- # self-hosted pool and stay queued for the hosted runner — see the failover
|
|
|
+ # Every pull request also gets a real Windows-kernel signal. Its unmasked
|
|
|
+ # conclusion is a dependency of all-checks-passed, so failure, cancellation,
|
|
|
+ # or omission blocks the required verdict. Under normal operation it runs on
|
|
|
+ # the hosted larger runner. DSH_CI_FAILOVER_WINDOWS=selfhosted retargets it
|
|
|
+ # onto the in-house self-hosted Windows pool. Dependabot PRs are excluded
|
|
|
+ # from the self-hosted pool and stay queued for the hosted runner — see the failover
|
|
|
# runbook. This Windows switch is independent of the Linux
|
|
|
# DSH_CI_FAILOVER_LINUX variable that retargets the three required Linux jobs
|
|
|
# and the all-checks-passed verdict above.
|
|
|
@@ -461,10 +460,10 @@ jobs:
|
|
|
# Single stable required check for branch protection: require "all checks
|
|
|
# passed" instead of enumerating matrix legs whose names change as lanes and
|
|
|
# node versions evolve. Every blocking job in THIS workflow must be listed in
|
|
|
- # `needs`. The required Wine job is listed as `windows`; `windows-native` is
|
|
|
- # deliberately absent so its independent result never delays or changes this
|
|
|
- # verdict. (`needs` cannot reach across workflow files; the master-only jobs in
|
|
|
- # ci-master.yml are intentionally not part of this PR verdict.)
|
|
|
+ # `needs`, including both the Wine `windows` job and the real-kernel
|
|
|
+ # `windows-native` job. (`needs` cannot reach across workflow files; the
|
|
|
+ # master-only jobs in ci-master.yml are intentionally not part of this PR
|
|
|
+ # verdict.)
|
|
|
# `if: always()` is load-bearing: without it a failed dependency
|
|
|
# would SKIP this job, and GitHub counts a skipped required check as passing
|
|
|
# — so this job always runs and fails on any non-success result, including
|
|
|
@@ -475,14 +474,15 @@ jobs:
|
|
|
# provisioning — and under Linux failover it follows the same selector as
|
|
|
# the worker jobs it aggregates, so a standard-hosted outage cannot strand
|
|
|
# the branch-protection verdict either. It retargets with the Linux switch
|
|
|
- # (DSH_CI_FAILOVER_LINUX), not the Windows one, because it aggregates the
|
|
|
- # required Linux workers and runs on the vm-backup pool.
|
|
|
+ # (DSH_CI_FAILOVER_LINUX), not the Windows one, because this bookkeeping job
|
|
|
+ # itself runs on Linux; the native dependency resolves its Windows pool
|
|
|
+ # independently.
|
|
|
runs-on: >-
|
|
|
${{ vars.DSH_CI_FAILOVER_LINUX == 'selfhosted'
|
|
|
&& github.event.pull_request.user.login != 'dependabot[bot]'
|
|
|
&& fromJSON('["self-hosted", "linux", "x64", "vm-backup"]')
|
|
|
|| 'ubuntu-latest' }}
|
|
|
- needs: [node-24, node-24-coverage, node-24-consumers, node-compat, python-sdk, python-runtime, windows]
|
|
|
+ needs: [node-24, node-24-coverage, node-24-consumers, node-compat, python-sdk, python-runtime, windows, windows-native]
|
|
|
if: always() && github.event_name == 'pull_request'
|
|
|
steps:
|
|
|
- name: Fail if any needed job did not succeed
|