ci: remove dead hosted serial-linux job

serial-linux (hosted ubuntu-latest) has been `if: false` since 2026-07-30 and
never runs. Remove the dead job block and retire the dangling references:

- TODO(hosted-serial-ci) narrowed to the single remaining disabled hosted
  serial job (serial-macos); the hosted linux definition is gone.
- The cache producer comment no longer claims serial-linux refreshes the
  hosted pnpm/Playwright caches; there is currently no active master producer
  for them, so restores are cold on a lockfile change.
- The self-hosted standby's frozen-archive comment no longer cross-references
  the deleted job.
- serial-macos gains its own intro comment since the shared 'hosted reference
  jobs below are disabled' lede was removed.

No runner allocation, required gate, or all-checks-passed.needs reference this
job; the aggregate is unchanged.
This commit is contained in:
Chinesezjc
2026-08-19 14:00:33 +08:00
parent 943daa17dc
commit e6b494ed17
+13 -76
View File
@@ -42,8 +42,10 @@ env:
jobs:
# TODO(hosted-serial-ci): Re-enable the three hosted serial reference jobs before release.
# The self-hosted standby remains active on every master push.
# TODO(hosted-serial-ci): Re-enable the remaining disabled hosted serial reference job
# (serial-macos) before release. The hosted serial-linux definition was removed as dead
# code (it was `if: false`); the self-hosted standby lane below remains active on every
# master push.
# Three enterprise jobs isolate coverage, static analysis, and the
# build-backed consumer tail. The consumer job owns the only Linux build so
@@ -220,8 +222,10 @@ jobs:
restore-keys: |
${{ runner.os }}-node-${{ env.PRIMARY_NODE_VERSION }}-pnpm-
# Pull requests restore the cache normally produced by serial-linux on
# master; they do not pay compression and upload on the required path.
# Pull requests restore the pnpm store and Playwright caches without paying
# compression and upload on the required path. There is currently no active
# master producer for these hosted caches — the hosted serial-linux job that
# refreshed them was disabled, so restores below are cold on a lockfile change.
- uses: actions/cache/restore@v4
if: vars.DSH_CI_FAILOVER_LINUX != 'selfhosted' || github.event.pull_request.user.login == 'dependabot[bot]'
with:
@@ -492,76 +496,6 @@ jobs:
shell: pwsh
run: pnpm run check:ci:windows-complete
# The hosted reference jobs below are temporarily disabled; the self-hosted
# standby remains active. Each enabled host executes the complete, unsharded
# primary Node aggregate with one gate worker, giving reviewers a simple
# cross-platform oracle for completeness and timing.
serial-linux:
if: false
name: serial / linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 2
- uses: pnpm/action-setup@v4
with:
dest: ${{ runner.temp }}/setup-pnpm
- uses: actions/setup-node@v6
with:
node-version: ${{ env.PRIMARY_NODE_VERSION }}
- name: Configure pnpm store path
id: pnpm-store
run: |
store_root="$HOME/.local/share/pnpm/store"
echo "PNPM_CONFIG_STORE_DIR=$store_root" >> "$GITHUB_ENV"
store_path=$(PNPM_CONFIG_STORE_DIR="$store_root" pnpm store path --silent)
echo "path=$store_path" >> "$GITHUB_OUTPUT"
# Master refreshes the pnpm store cache that pull requests restore without saving.
# The store cache stays a hand-rolled actions/cache step rather than
# setup-node's `cache: pnpm`: the enterprise pull-request jobs above
# restore exactly this key and path, and setup-node's built-in cache
# uses its own key format — converting this producer would silently
# starve their documented restore-only optimization.
- uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-node-${{ env.PRIMARY_NODE_VERSION }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-node-${{ env.PRIMARY_NODE_VERSION }}-pnpm-
# Master produces the hosted Chromium cache restored by pull requests.
- uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-playwright-
- name: Install (immutable)
run: pnpm install --frozen-lockfile
- name: Install Playwright Chromium and system dependencies
run: pnpm --filter @deepseek-ai/dsh-web-frontend exec playwright install --with-deps chromium
- name: Prepare bubblewrap (unrestrict userns)
run: bash scripts/prepare-ci-bubblewrap.sh
- name: Run complete unsharded primary Node CI serially
env:
DSH_ARCHIVE_BASE_REF: ${{ github.event.before }}
DSH_COVERAGE_MAX_WORKERS: '1'
DSH_E2E_MAX_WORKERS: '1'
DSH_GATE_CONCURRENCY: '1'
DSH_OXLINT_THREADS: '1'
DSH_PUBLINT_CONCURRENCY: '1'
DSH_SNAPSHOT_MAX_CONCURRENCY: '1'
run: pnpm run check:ci:linux-primary
# Hot-standby drill for the in-house self-hosted pool: every master move
# re-runs the complete unsharded aggregate on the persistent 64-core VM,
# continuously proving that environment can take over a required lane if
@@ -580,8 +514,9 @@ jobs:
name: serial / linux (self-hosted standby)
runs-on: [self-hosted, linux, x64, vm-backup]
steps:
# Full history + DSH_ARCHIVE_BASE_REF below: same frozen-archive
# comparison as serial-linux. Depth 2 would miss github.event.before
# Full history + DSH_ARCHIVE_BASE_REF below: the same frozen-archive
# comparison used by the hosted serial reference. Depth 2 would miss
# github.event.before
# on multi-commit or force pushes; full fetch is cheap here because
# checkout resolves against the VM's local mirror.
- uses: actions/checkout@v6
@@ -621,6 +556,8 @@ jobs:
DSH_SNAPSHOT_MAX_CONCURRENCY: '1'
run: pnpm run check:ci:linux-primary
# The sole remaining disabled hosted serial reference job (the hosted linux
# definition was removed as dead code); see TODO(hosted-serial-ci) above.
serial-macos:
if: false
name: serial / macos