qwen-code/scripts/tests
易良 8a21551599
Some checks are pending
Qwen Code CI / Classify PR (push) Waiting to run
Qwen Code CI / Test (ubuntu-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Lint & Static (ubuntu-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / web-shell E2E Smoke (ubuntu-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Test (macos-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Test (windows-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Integration Tests (no-AK, No Sandbox) (push) Blocked by required conditions
Qwen Code CI / Integration Tests (CLI, No Sandbox) (push) Blocked by required conditions
Qwen Code CI / Desktop Shell (ubuntu-22.04) (push) Blocked by required conditions
Qwen Code CI / Desktop Shell (windows-2022) (push) Blocked by required conditions
E2E Tests / Build for E2E (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker - shard 1/1 (push) Blocked by required conditions
E2E Tests / E2E Test (Linux) - sandbox:none - shard 1/1 (push) Blocked by required conditions
E2E Tests / E2E Test - macOS - shard 1/2 (push) Blocked by required conditions
E2E Tests / E2E Test - macOS - shard 2/2 (push) Blocked by required conditions
E2E Tests / E2E Interactive - OpenTUI renderer (bun) (push) Blocked by required conditions
E2E Tests / channel-plugin E2E (nightly) (push) Blocked by required conditions
E2E Tests / cron-interactive E2E (nightly) (push) Blocked by required conditions
E2E Tests / web-shell Browser Regression (push) Waiting to run
npm cache producer / Save npm cache (push) Waiting to run
pnpm Worktree Smoke / Install (macos-latest) (push) Waiting to run
pnpm Worktree Smoke / Install (ubuntu-latest) (push) Waiting to run
pnpm Worktree Smoke / Install (windows-latest) (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
chore: enforce Playwright version parity and close the deferred #11101 follow-ups (#11371)
* chore: enforce Playwright parity and close deferred #11101 follow-ups

Works the four items tracked in #11336:

- Pin Web Shell's @playwright/test to the same exact version as the root
  playwright dependency, and fail `npm run check:lockfile` when the two
  direct manifests drift apart or their resolved root trees stop matching
  the pin. The check deliberately tolerates the packages/mobile-mcp tree:
  mobilewright depends on playwright and playwright-core at an exact
  older revision, so no manifest edit in this repository can dedupe it.
- Correct the "Install evidence browser" rationale in qwen-triage.yml and
  its restatement in the workflow test. The two-trees premise no longer
  holds now that both manifests are pinned; the resolution behavior is
  unchanged, since resolving from the harness's own directory still keeps
  the binary tied to the package it imports.
- Cover the ENOENT fallback of the exported isMainModule helper. The
  existing runner.py assertion takes the realpath success path because
  that file exists, so the fallback stayed unpinned.
- Separate the CLI-only from the daemon-only followup suggestion gates in
  the documentation instead of pointing daemon clients at the blended
  CLI-oriented list, keeping the headless/SDK opt-out guidance.

* chore: pin the Playwright parity check and correct its scope notes

Follow-up to the round-1 review on this PR.

The parity block had no test in either direction: the only suite that runs the
script asserted the two pre-existing banners, so deleting the block, inverting a
comparison, or breaking the importer derivation left both `npm run test:scripts`
and CI's `check:lockfile` gate green. That is the defect class this PR exists to
remove — the same diff rewrites two rationale comments to lean on the check, so
an unpinned guard rots into a comment that lies. Add the third banner to the
existing suite and a fixture suite that runs the script against perturbed copies
of the real manifests and lockfiles, covering both drift arms and the two shapes
that must stay green.

Also correct three properties of the block the review found:

- The inventory comment claimed two Playwright declarations sit outside the
  invariant; `packages/mobile-mcp` declares `@playwright/test` as a range
  directly, in a workspace member, and was not named. It is the only in-workspace
  range on a name this check pins, so it is what the resolved-version message
  should point an operator at.
- The agreement check destructured exactly two entries while the comment invited
  maintainers to extend the list, so a third entry would have received the
  exactness check and silently skipped the comparison the block exists for.
  Compare every entry against the first and derive the resolved-tree locations
  from the same list instead of repeating them as a second literal.
- The pnpm arm prescribed "regenerate it" for every divergence, but
  `pnpm-workspace.yaml`'s `overrides:` and `.pnpmfile.mjs` both rewrite the
  recorded specifier, so regeneration is a no-op for those. Name the deciding
  layer in the messages and the importer list's source for a missing entry.

* docs: stop counting the followup suggestion code paths

Merging main brought in the OpenTUI port of ink's AppContainer effect
(packages/cli/src/ui/opentui/followup-generation.ts), which is a third
non-test `generatePromptSuggestion` call site. The section opener claimed
"Two code paths decide this", which a grep now contradicts even though the
substance still holds: the OpenTUI hook applies the same CLI gate set as
AppContainer — interactive, not SDK mode, the Responding to Idle edge, no
error in the last item, no waiting calls, approval mode not plan — and
collapses ink's five explicit dialog checks into `waitingCalls.length === 0`
because the composer is unmounted while a shell dialog is open.

Name the two decision-makers instead of counting implementations, so the
sentence stays true when a renderer is added or retired. The CLI/daemon
split below is unchanged and was re-verified against the merged tree: the
ink gate is byte-identical at AppContainer.tsx:3612-3627, the daemon gate
moved only by line number (Session.ts:5080-5095), and the shared
MIN_ASSISTANT_TURNS gate is still at suggestionGenerator.ts:83,103.

---------

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
2026-09-12 11:40:46 +00:00
..
acp-serve-boundary-guard.test.js refactor(cli): keep acp-integration off serve internals (#8084) (#9144) 2026-08-22 12:39:08 +00:00
ai-release-notes-workflow.test.js refactor(ci): extract release workflow scripts (#11165) 2026-09-08 07:09:09 +00:00
audit-runtime-critical.test.js ci: run Windows merge queue tests on ECS (#8386) 2026-08-05 12:14:42 +00:00
brand-create-safety.test.js feat(desktop-shell): restore the brand builder skill for the Tauri shell (#10164) 2026-08-27 12:47:50 +00:00
build-and-publish-image-workflow.test.js ci(ecs): file an issue when the runner fleet update fails (#10445) 2026-09-01 17:41:00 +00:00
build-sandbox-output.test.js fix(release): stop hiding sandbox build failures and check the prepared package early (#10784) 2026-09-02 11:38:33 +00:00
capture-tmux-ci.test.js ci: install tmux and zip tooling on the Linux test lane, and pin it (#8792) 2026-08-11 05:47:39 +00:00
check-build-status.test.js fix(cli): scope startup warnings to dev sessions (#8456) 2026-08-29 13:22:34 +00:00
check-core-subpath-exports.test.js perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
check-i18n.test.ts fix(cli): localize approval mode UI labels (#6592) 2026-07-11 00:07:03 +00:00
check-lockfile.test.js chore: enforce Playwright version parity and close the deferred #11101 follow-ups (#11371) 2026-09-12 11:40:46 +00:00
check-tui-dep-direction.test.js feat(cli): OpenTUI migration infra batch — locked deps, dependency-direction arch check, framework-neutral streaming model (#10134) 2026-08-28 02:44:46 +00:00
chrome-extension-package.test.js fix(ci): cover release integration regressions (#5994) 2026-06-29 11:54:11 +00:00
ci-flaky-rerun-workflow.test.js fix(ci): stop dropping agent settings in resolve and follow-up workflows (#9252) 2026-08-16 03:27:00 +00:00
ci-flaky-rerun.test.js fix(ci): read the CI patrol's status rollup one PR at a time (#10861) 2026-09-03 03:21:03 +00:00
ci-platform-lanes.test.js fix(ci): retry transient E2E build artifact upload failures once (#11364) (#11375) 2026-09-11 02:05:02 +00:00
clean-package-build-artifacts.test.js test(core): stabilize file history eviction test (#6637) 2026-07-10 06:39:52 +00:00
cli-entry.test.js fix(cli): preserve Qwen Review startup version in footers (#8431) 2026-08-04 14:58:56 +00:00
comment-attachment-guard-workflow.test.js ci: route trusted-author fork PRs and no-checkout jobs to the ECS pool (#8502) 2026-08-04 03:48:24 +00:00
copy-bundle-openTui-assets.test.js fix(desktop): unblock macOS and Linux desktop packaging (#11518) 2026-09-10 03:33:27 +00:00
core-subpath-exports-resolution.test.js perf(cli): let tests resolve core modules individually (#10917) 2026-09-06 10:20:05 +00:00
cross-package-contracts.test.js feat: delegate a subagent turn to an external agent over ACP (Claude Code first) (#11003) 2026-09-10 03:13:05 +00:00
cua-driver-release-workflow.test.js fix(cua): restore legacy Windows installer compatibility (#10792) 2026-09-02 09:13:49 +00:00
desktop-oss-workflow.test.js fix(desktop): harden release pipeline (#9009) 2026-08-12 16:38:12 +00:00
dev.test.js feat(core): add CodeModeOnly tool execution (#10607) 2026-09-11 07:40:35 +00:00
e2e-shard-retry.test.js fix(ci): isolate subprocess-heavy E2E from fork pressure (#11388) 2026-09-08 15:45:07 +00:00
e2e-workflow.test.js fix(ci): isolate serve route E2E from fork pressure (#11389) (#11391) 2026-09-09 02:08:08 +00:00
event-loop-yield.test.js fix(ci): yield the event loop between script tests to avoid vitest RPC timeouts (#10037) (#10050) 2026-08-26 07:11:15 +00:00
export-html-from-chatrecord-jsonl.test.js fix(web-shell): close the four deferred #9812 review follow-ups (#11107) 2026-09-05 23:40:57 +00:00
export-html-import-meta-guard.test.js fix(web-shell): make the workspace provider guard self-diagnosing and reload on root retry (#11421) 2026-09-10 06:33:33 +00:00
export-transcript-document-template.test.js perf(export): split the transcript renderer's embedded CSS into a versioned asset (#11485) 2026-09-10 07:15:32 +00:00
generate-changelog.test.js feat(release): user-facing bilingual digest for release notes (#9216) 2026-08-17 00:12:04 +00:00
generate-release-notes.test.js feat(release): user-facing bilingual digest for release notes (#9216) 2026-08-17 00:12:04 +00:00
get-release-version-python-sdk.test.js feat(sdk-python): add network timeouts to release version helper (#3833) 2026-05-05 19:25:00 +08:00
get-release-version.test.js refactor(ci): extract release workflow scripts (#11165) 2026-09-08 07:09:09 +00:00
install-script.test.js feat(core): add CodeModeOnly tool execution (#10607) 2026-09-11 07:40:35 +00:00
integration-tsconfig-core-paths-sync.test.js perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
integration-vitest-config.test.ts ci: serialize integration tests on shared ECS runners (#10567) 2026-08-31 01:20:35 +00:00
issue-triage-ownership-workflow.test.js ci: remove broken legacy scheduled PR triage workflow (#8434) 2026-08-03 10:20:42 +00:00
lint.test.js ci: make the Prettier lane a real gate (#11117) 2026-09-07 00:44:01 +00:00
live-host-oss-workflow.test.js fix(live): restore Live Host after desktop removal (#9994) 2026-08-25 12:32:31 +00:00
main-ci-failure-issue-workflow.test.js fix(ci): name the failing job when a main CI run reports no test result (#10855) 2026-09-03 21:09:36 +00:00
no-ak-integration-ci.test.js feat(web-shell): Improve split-view session navigation (#11250) 2026-09-08 17:33:19 +00:00
no-config-object-create-config.test.js refactor(core): centralize worktree config derivation (#9915) 2026-08-27 12:28:08 +00:00
no-config-object-create.test.js refactor(core): centralize worktree config derivation (#9915) 2026-08-27 12:28:08 +00:00
no-core-root-barrel-config.test.js refactor(core): remove root barrel self-imports and enforce the boundary (#9635) 2026-08-22 13:42:10 +00:00
no-core-root-barrel-import.test.js perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
no-core-utils-upward-import.test.js perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
no-utils-upward-import-config.test.js refactor(cli): enforce utils leaf-layer dependency direction (#9146) (#9737) 2026-08-23 14:41:49 +00:00
no-utils-upward-import.test.js refactor(cli): enforce utils leaf-layer dependency direction (#9146) (#9737) 2026-08-23 14:41:49 +00:00
package-assets.test.js perf(export): split the transcript renderer's embedded CSS into a versioned asset (#11485) 2026-09-10 07:15:32 +00:00
package-scripts.test.js chore: enforce Playwright version parity and close the deferred #11101 follow-ups (#11371) 2026-09-12 11:40:46 +00:00
pr-force-push-reminder-workflow.test.js ci(autofix): run agents on dedicated ECS runners (#6207) 2026-07-03 07:40:07 +00:00
pr-self-report-label.test.js feat(autofix): escalate stopped takeover PRs and age out unanswered pauses (#8960) 2026-08-15 17:32:23 +00:00
qwen-autofix-fork-bridge-workflow.test.js fix(ci): gate the fork signal on fields the review payload delivers (#9469) 2026-08-22 18:47:00 +00:00
qwen-autofix-workflow.test.js fix(autofix): charge regressions to the brake and gate test weakening (#10188) 2026-09-10 15:04:34 +00:00
qwen-fleet-shepherd-workflow.test.js fix(ci): salvage superseded review runs and hold the loop's report-time base refresh (#10123) 2026-09-06 05:51:06 +00:00
qwen-pr-review-workflow.test.js feat(review): focus automatic static navigation reviews (#11456) 2026-09-11 03:59:55 +00:00
qwen-repo-hygiene-workflow.test.js fix(ci): route workflow label mutations through REST (#8761) 2026-08-09 15:05:15 +00:00
qwen-resolve-workflow.test.js fix(ci): salvage superseded review runs and hold the loop's report-time base refresh (#10123) 2026-09-06 05:51:06 +00:00
qwen-triage-finalize-workflow.test.js fix(ci): rename triage status marker to avoid duplicate-guard collision (#7723) 2026-07-26 15:51:22 +00:00
qwen-triage-workflow.test.js chore: enforce Playwright version parity and close the deferred #11101 follow-ups (#11371) 2026-09-12 11:40:46 +00:00
release-helpers.test.js refactor: extract shared release helper utilities (#3834) 2026-05-05 10:15:17 +08:00
release-sdk-workflow.test.js fix(ci): space PR creation from release to avoid secondary rate limit (#11444) 2026-09-09 12:59:56 +00:00
release-workflow.test.js fix(ci): reap release integration containers (#11330) 2026-09-08 09:48:05 +00:00
review-artifact-upload.test.js fix(ci): run /resolve without the container sandbox and pin its CLI version (#10428) 2026-08-31 07:37:15 +00:00
review-source-digest.test.ts refactor(cli): enforce utils leaf-layer dependency direction (#9146) (#9737) 2026-08-23 14:41:49 +00:00
review-worktree-cleanup-workflow.test.js fix(review): keep host-trusted state out of the container's writable surface (#9983) 2026-09-10 12:30:35 +00:00
sandbox-command.test.js fix(scripts): avoid shell injection in sandbox command detection (#6108) 2026-07-01 16:20:40 +08:00
sdk-java-workflow.test.js fix(release): stop one flaky test from failing a stable release (#10842) 2026-09-03 03:39:37 +00:00
sdk-node-exporter-stub.test.js chore(deps): Clear high-severity CVE baseline and harden the security gate (#9584) 2026-08-21 07:43:32 +00:00
security-checks-audit-retry.test.js fix(ci): retry a registry-side npm audit failure instead of reporting it as a CVE (#11006) 2026-09-04 15:52:20 +00:00
security-workflows.test.js ci: schedule dependency audits and use native secret protection (#11005) 2026-09-05 01:08:43 +00:00
serve-ab-workflow.test.js ci: stabilize tests under shared ECS host contention (#10552) 2026-08-30 14:38:54 +00:00
serve-fast-path-bundle-check.test.js fix(core): keep no-follow reads protected where O_NOFOLLOW is missing (#10007) 2026-08-31 09:57:46 +00:00
start.test.js fix(cli): scope startup warnings to dev sessions (#8456) 2026-08-29 13:22:34 +00:00
test-setup.ts fix(ci): yield the event loop between script tests to avoid vitest RPC timeouts (#10037) (#10050) 2026-08-26 07:11:15 +00:00
text-capture-core-loader-sync.test.js perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
transcript-css-entry-filter.test.js perf(export): split the transcript renderer's embedded CSS into a versioned asset (#11485) 2026-09-10 07:15:32 +00:00
unit-vitest-configs.test.ts ci: give every workspace the shared-pool test timeout, not just five (#10915) 2026-09-07 09:02:39 +00:00
update-dependency-audit-issue.test.js ci: schedule dependency audits and use native secret protection (#11005) 2026-09-05 01:08:43 +00:00
upload-aliyun-oss-assets.test.js fix(release): cap Vitest workers in the quality_scripts lane (#10755) (#10760) 2026-09-02 12:21:31 +00:00
verify-capture.test.js test(ci): make verify-capture fallback assertion rasterization-safe (#10758) 2026-09-06 08:46:27 +00:00
vitest-global-setup.test.js fix(devx): fail with actionable message when unit-test build prerequisites are missing (#9149) (#9171) 2026-08-18 13:19:09 +00:00
vitest.config.ts fix(ci): stop the scripts-suite timeout knob from failing open on an empty value (#10910) 2026-09-06 01:00:42 +00:00
vscode-companion-no-webui-config.test.js refactor(vscode-ide-companion): complete the WebShell UI cutover (#9811) 2026-08-29 16:37:47 +00:00
workflow-helpers.js ci: run Windows merge queue tests on ECS (#8386) 2026-08-05 12:14:42 +00:00
workflow-size.test.js ci: split lint and static checks out of the Test job (#10756) 2026-09-03 03:53:57 +00:00
workspaces.test.js ci: give every workspace the shared-pool test timeout, not just five (#10915) 2026-09-07 09:02:39 +00:00