mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
ci: require native Windows aggregate verdict
This commit is contained in:
+18
-18
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user