qwen-code/.github/workflows
易良 8e0033d64d
Some checks failed
E2E Tests / E2E Test (Linux) - sandbox:docker - shard 1/3 (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker - shard 2/3 (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker - shard 3/3 (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none - shard 1/3 (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none - shard 2/3 (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none - shard 3/3 (push) Waiting to run
E2E Tests / E2E Test - macOS - shard 1/2 (push) Waiting to run
E2E Tests / E2E Test - macOS - shard 2/2 (push) Waiting to run
E2E Tests / channel-plugin E2E (nightly) (push) Waiting to run
E2E Tests / cron-interactive E2E (nightly) (push) Waiting to run
E2E Tests / web-shell Browser Regression (push) Waiting to run
SDK Java / ubuntu-latest / Java 11 (push) Waiting to run
SDK Java / ubuntu-latest / Java 17 (push) Waiting to run
SDK Java / macos-latest / Java 21 (push) Waiting to run
SDK Java / ubuntu-latest / Java 21 (push) Waiting to run
SDK Java / windows-latest / Java 21 (push) Waiting to run
SDK Java / Real daemon E2E / Java 11 (push) Waiting to run
npm cache producer / Save npm cache (push) Has been cancelled
fix(ci): reduce ENOSPC and load-sensitive test flakes (#8982)
* fix(ci): deflake the idle-watchdog env-parse script test

The test spawned three full agent subprocesses (~10s of wall time) to
pin a parse guard that is read once at module load. Under load spikes
on the shared self-hosted runner pool, one of those spawns failed or
stalled, failing CI at random (e.g. run 31556596385); the assertion
also discarded the script's failure.md, hiding the cause.

Collapse it to one run with the nastiest value (-1) — any armed
instant-true window kills the healthy stub agent at the first idle
tick — and assert on {status, failure} so a future flake names its
cause. Add retry: 2 to the script-test vitest config for the
remaining load-sensitive spawn tests; a real regression fails every
attempt.

* fix(ci): size test thread pools to the machine and retry load flakes

test:ci runs every workspace in parallel, and the cli/core suites each
pinned a fixed 8-16 thread pool regardless of the machine — on a 4-core
hosted runner that is an 8x oversubscription before any neighbor job
exists, and the shared self-hosted hosts run several registrations at
once. The contention is what blows the 15s ceilings those configs
already complain about: tests that pass locally in milliseconds time
out, and vitest workers lose their RPC under the pile.

Size the pools to os.cpus() (capped at the old fixed values so large
machines lose nothing) and add retry: 2 for the residual load spikes a
real regression still fails through every attempt of.

* fix(ci): restore the 0-boundary probe and right-size the deflake comments

Review feedback: the single -1 run could not catch a > 0 → >= 0
boundary edit (0 is the operator's documented disable sentinel and
would arm a zero-length window), and the comments overstated what the
run and the retry guarantee. Probe-verified: a >= 0 mutant now fails
the idleMs: 0 arm with the value named in the assertion diff. Two
short runs still halve the old three-run spawn volume. Reword the
retry comments to claim only deterministic regressions fail every
attempt.

* fix(ci): remove dead pool-resizing config and pin idle-timeout guard

The poolOptions.threads changes had no effect because vitest 3 defaults
to pool: 'forks', making minThreads/maxThreads inert. Revert to the
original fixed 8-16. The script-test deflake (idle-watchdog improvements,
retry: 2) is kept. Add a source-text pin for the Number.isFinite guard
in run-agent.mjs, covering the non-numeric class that subprocess-based
tests cannot exercise.

* fix(ci): capture the transient ENOSPC and shrink the manifest suite's inode hold

ENOSPC failed the Test step mid-suite on two different self-hosted
machines (actions-runner-test-22, actions-runner-test-11) in ~20s
bursts — 132 of 147 errors were mkdtemp failures — while the hosts
look healthy afterwards, so a post-mortem df finds nothing. Two
changes:

1. Sample /tmp space and inodes every 10s during the test step and
   dump the full df state when it fails, so the next occurrence
   records whether inodes or a tmpfs cap is what exhausts.
2. The manifest-repository-context suite held every 16k-file fixture
   tree until afterAll (~164k live inodes for the whole file); tear
   down per test instead so at most one tree is live at a time,
   removing the suite's own spike contribution either way.

* test(ci): pin the idle-timeout parse guard's source text for the NaN class

A healthy-agent run can never pin the non-numeric rejection class: a
NaN window never satisfies the >= kill comparison, so no run shape
fails on it. Pin the guard expression itself in the runner source
instead (this file's existing source-text pin style), and rename the
test to claim only the non-positive classes the runs actually pin.

* fix(ci): sample available memory alongside the ENOSPC diagnostics

The hosts' disks are verifiably not full, so byte exhaustion is out.
ENOSPC on a healthy disk points at a memory-backed limit instead: a
tmpfs /tmp or a job cgroup ceiling fails tmpfs writes with ENOSPC
while host memory is spiked by concurrent jobs, and clears within
seconds once they finish — matching the ~20s failure bursts. Sample
MemAvailable every 10s and dump /proc/meminfo on failure so the next
occurrence separates memory from inodes.

* fix(ci): limit retries to script tests

* fix(ci): route test temp files to the runner's disk-backed temp area

The ENOSPC bursts hit a host whose disk is verifiably not full, which
points at a memory-backed limit on /tmp (tmpfs mount or cgroup ceiling)
under concurrent-job memory spikes. Export TMPDIR=$RUNNER_TEMP for the
test step so mkdtemp traffic lands on the per-registration disk area
instead of the shared /tmp — curing the tmpfs case outright and also
stoping temp state from mixing across the several runner registrations
on one host. The sampler now reports the effective TMPDIR's filesystem.

* test(core): support long temporary workspace paths

* fix(ci): keep routed temp paths socket-safe

* fix(ci): use real short Linux temp paths

* test(ci): remove remaining teardown races

* test(ci): harden temp routing regression

* test(ci): stop leaked server reconcilers

* fix(ci): clean up test sampler reliably

* fix(review): keep skill context within manifest bounds

* test(web-shell): wait for image ingestion completion

* test(cli): avoid timed status line module import

* test(ci): remove remaining load-sensitive waits

* fix(ci): cap test forks on shared runners

* fix(ci): keep temp cleanup from failing tests

---------

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
2026-08-13 16:44:39 +00:00
..
assign-issue-owner.yml feat(ci): auto-assign issues to area owners from labels (#8668) 2026-08-08 23:01:03 +00:00
audio-capture-prebuilds.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
auto-minimize-spam.yml ci: auto-minimize comments from org-blocked users (#7899) 2026-07-29 23:37:42 +00:00
build-and-publish-image.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
cd-cua-driver.yml chore(cua-driver): sync upstream v0.17.0 (#8564) 2026-08-05 07:00:36 +00:00
cd-mobile-mcp.yml fix(mcp): add opt-in model payload filtering (#7413) 2026-07-21 09:49:04 +00:00
ci.yml fix(ci): reduce ENOSPC and load-sensitive test flakes (#8982) 2026-08-13 16:44:39 +00:00
codeql.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
comment-attachment-guard.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
desktop-release.yml fix(desktop): bridge Electron users on Windows and Linux (#9079) 2026-08-13 15:42:31 +00:00
docs-page-action.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
dsw-swe-verified-release.yml ci: add isolated DSW SWE-bench release pipeline (#7656) 2026-07-29 06:35:58 +00:00
e2e.yml test(integration): migrate flaky E2E tests to fake-openai-server (#7934) 2026-07-29 11:42:32 +00:00
finalize-release.yml fix(ci): let both bot PATs approve the release PR, no human needed (#9056) 2026-08-13 06:56:24 +00:00
live-host-release.yml fix(ci): restore Live Host release mirroring (#8917) 2026-08-11 07:08:26 +00:00
live-host.yml feat(web-shell): add native Live Voice (#7859) 2026-08-05 08:33:22 +00:00
main-ci-failure-issue.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
npm-cache.yml fix(ci): avoid root-owned npm cache workspace files (#8669) 2026-08-07 07:08:34 +00:00
pr-force-push-reminder.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
pr-self-report-label.yml fix(ci): route workflow label mutations through REST (#8761) 2026-08-09 15:05:15 +00:00
qwen-autofix-fork-bridge.yml feat(autofix): bridge fork-PR reviews into the credentialed review lane (#8676) 2026-08-07 16:11:48 +00:00
qwen-autofix-fork-signal.yml feat(autofix): bridge fork-PR reviews into the credentialed review lane (#8676) 2026-08-07 16:11:48 +00:00
qwen-autofix.yml fix(ci): make autofix verification gates hermetic to runner git config (#8961) 2026-08-13 11:39:04 +00:00
qwen-ci-flaky-rerun.yml ci: bump qwen-code-action to 05f8171 (skip redundant install, surface install errors) (#8444) 2026-08-03 08:41:46 +00:00
qwen-code-pr-review.yml perf(ci): tighten the automatic review kill switch for micro diffs (#8774) 2026-08-10 04:01:36 +00:00
qwen-fleet-shepherd.yml feat(autofix): bridge fork-PR reviews into the credentialed review lane (#8676) 2026-08-07 16:11:48 +00:00
qwen-issue-followup-bot.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
qwen-pr-safety-precheck.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
qwen-triage-finalize.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
qwen-triage.yml perf(ci): make the triage budget operator-tunable and raise it (#8810) 2026-08-10 12:40:21 +00:00
release-sdk-java.yml fix(sdk-java): Harden daemon transport reliability (#7603) 2026-07-24 04:22:05 +00:00
release-sdk-python.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
release-sdk.yml fix(ci): skip empty SDK release PR (#6861) 2026-07-14 13:19:42 +00:00
release-vscode-companion.yml fix(ci): add retry logic to VSCode IDE Companion publish steps (#6574) 2026-07-09 09:54:27 +00:00
release.yml chore(deps): sync external-context version in package-lock.json (#8858) 2026-08-10 10:58:08 +00:00
repo-hygiene.yml fix(ci): route workflow label mutations through REST (#8761) 2026-08-09 15:05:15 +00:00
sdk-java.yml ci(sdk-java): drop the shared Maven toolchains.xml before setup-java on self-hosted runners (#9090) 2026-08-13 12:20:28 +00:00
sdk-python.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
serve-ab-publish.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
serve-ab.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
stale.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
sync-cua-driver-to-oss.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
sync-desktop-to-oss.yml fix(desktop): harden release pipeline (#9009) 2026-08-12 16:38:12 +00:00
sync-live-host-to-oss.yml fix(ci): restore Live Host release mirroring (#8917) 2026-08-11 07:08:26 +00:00
sync-release-to-oss.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
update-ecs-runner-qwen.yml ci: add hk ECS runners to update matrix (#8599) 2026-08-05 16:57:08 +00:00
web-shell-visuals-cleanup.yml ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
web-shell-visuals-publish.yml fix(ci): don't let one failing scenario sink the whole visual preview (#7511) 2026-07-23 02:34:07 +00:00
web-shell-visuals.yml fix(ci): don't let one failing scenario sink the whole visual preview (#7511) 2026-07-23 02:34:07 +00:00
windows-runner-smoke.yml ci: run Windows merge queue tests on ECS (#8386) 2026-08-05 12:14:42 +00:00