ci: bound profile e2e subprocess fan-out

Set DSH_E2E_MAX_WORKERS=4 for the credentialed e2e workflow and pin that environment contract in the workflow test. Profile-launched SDK and ACP scenarios each boot a complete subprocess tree, so the previous file-level fan-out could multiply process and provider pressure far beyond the runner's useful concurrency.

The bound changes scheduling only: every e2e file still runs, the Vitest configuration retains its explicit override knob, and local callers can choose a different positive worker count when their resources allow it.
This commit is contained in:
Tianyi Cui
2026-08-23 10:59:01 +08:00
parent fdac6cffcb
commit 2eea02dae3
2 changed files with 13 additions and 3 deletions
+4 -3
View File
@@ -60,8 +60,9 @@ jobs:
if: >-
github.event_name != 'pull_request'
|| !(github.event.pull_request.head.repo.fork || github.event.pull_request.user.login == 'dependabot[bot]')
# Bounded file parallelism (DSH_E2E_MAX_WORKERS), 120s/test, retry 2. 45m
# still bounds retry storms against a slow API while the happy path fans out.
# Profile e2e files can each own several complete dsh subprocess trees, so
# four file workers preserve process/PTY headroom. Tests retain 120s/test
# and retry 2; 45m still bounds retry storms against a slow API.
timeout-minutes: 45
steps:
- uses: actions/checkout@v6
@@ -115,6 +116,6 @@ jobs:
env:
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY_EXTERNAL }}
DEEPSEEK_BASE_URL: https://api.deepseek.com
DSH_E2E_MAX_WORKERS: 14
DSH_E2E_MAX_WORKERS: 4
DSH_EXAMPLE_MODE: lib
run: pnpm run test:e2e