diff --git a/.gitea/workflows/project-ci.yml b/.gitea/workflows/project-ci.yml index 5bde92df5..d56eba0f4 100644 --- a/.gitea/workflows/project-ci.yml +++ b/.gitea/workflows/project-ci.yml @@ -20,6 +20,9 @@ env: CARGO_HTTP_MULTIPLEXING: 'false' CARGO_NET_RETRY: '10' CARGO_TERM_COLOR: always + # 等价于给每条 `cargo test` 加 `-q`:通过的用例只打点号,失败的才按名字列出。 + # 对 npm 脚本、shard runner 里嵌套的 cargo 同样生效,避免逐条 `test ... ok` 刷屏。 + CARGO_TERM_QUIET: 'true' NPM_CONFIG_AUDIT: 'false' NPM_CONFIG_FETCH_RETRIES: '10' NPM_CONFIG_FETCH_RETRY_FACTOR: '2' diff --git a/apps/ai-game-creator-shell/package.json b/apps/ai-game-creator-shell/package.json index 0d3ec33c6..54a85623d 100644 --- a/apps/ai-game-creator-shell/package.json +++ b/apps/ai-game-creator-shell/package.json @@ -16,7 +16,7 @@ "bundled-resources:check": "node scripts/check-package-layout.mjs", "bundled-resources:sync": "node scripts/check-package-layout.mjs --write", "bundled-resources:prepare": "node scripts/prepare-bundled-resources.mjs", - "bundled-resources:test": "node --test scripts/prepare-bundled-resources.test.mjs", + "bundled-resources:test": "node --test --test-reporter=dot scripts/prepare-bundled-resources.test.mjs", "llm-status": "node scripts/run-cli-with-config.mjs --llm-status", "config": "node scripts/game-creator-config-wizard.mjs", "check:tests:types": "tsc -p tsconfig.tests.json --noEmit", diff --git a/apps/ai-game-creator-shell/src/styles.css b/apps/ai-game-creator-shell/src/styles.css index e6ae0f8c2..819832457 100644 --- a/apps/ai-game-creator-shell/src/styles.css +++ b/apps/ai-game-creator-shell/src/styles.css @@ -12590,17 +12590,15 @@ button.design-workspace-tree__entry:hover, white-space: nowrap; } +/* 组头 chevron 只保留外层定位与过渡;**换向唯一来源**是共享 `AgentProcessSummary` 的 + `[aria-expanded='true'] > .agent-process-summary .agent-process-summary-chevron`。 + 这里若再写一条 `rotate(180deg)`,会与 wrapper 的旋转叠加成 360°,展开态看起来仍是朝下。 */ .agent-tool-call-group-chevron { flex: 0 0 auto; color: inherit; transition: transform 120ms ease; } -.agent-tool-call-group-head[aria-expanded='true'] - .agent-tool-call-group-chevron { - transform: rotate(180deg); -} - /* `hidden` 必须压过下面的 `display: grid`,否则折叠态只是内容不可见却仍占位。 */ .agent-tool-call-group-body[hidden], .agent-tool-call-row-detail[hidden] { diff --git a/package.json b/package.json index ca24fab4d..1a9caaae3 100644 --- a/package.json +++ b/package.json @@ -189,7 +189,7 @@ "agc:bundled-resources:sync": "npm --prefix apps/ai-game-creator-shell run bundled-resources:sync", "agc:bundled-resources:prepare": "npm --prefix apps/ai-game-creator-shell run bundled-resources:prepare --", "agc:bundled-resources:test": "npm --prefix apps/ai-game-creator-shell run bundled-resources:test --", - "agc:plugins:test": "node --test plugins/agc-cocos-editor/src/entry.test.mjs plugins/agc-unity-editor/src/entry.test.mjs plugins/agc-godot-editor/src/entry.test.mjs", + "agc:plugins:test": "node --test --test-reporter=dot plugins/agc-cocos-editor/src/entry.test.mjs plugins/agc-unity-editor/src/entry.test.mjs plugins/agc-godot-editor/src/entry.test.mjs", "agc:plugins:native-test": "cargo test --manifest-path plugins/agc-cocos-editor/native/cocos-editor-bridge/Cargo.toml && cargo test --locked --manifest-path plugins/agc-unity-editor/native/unity-editor-bridge/Cargo.toml && cargo test --locked --manifest-path plugins/agc-godot-editor/native/godot-editor-bridge/Cargo.toml", "agc:plugins:check": "npm run agc:plugins:test && npm run agc:plugins:native-test", "agc:check": "npm run ai-game-creator-shell:check", diff --git a/scripts/build-gitea-rust-cache.sh b/scripts/build-gitea-rust-cache.sh index 13ff337c9..75932951f 100644 --- a/scripts/build-gitea-rust-cache.sh +++ b/scripts/build-gitea-rust-cache.sh @@ -75,7 +75,7 @@ set -euo pipefail rustc -vV > /opt/genarrative-ci/rust-cache/rustc.txt export GITHUB_ENV=/tmp/rust-cache.env CARGO_INCREMENTAL=0 CARGO_BUILD_JOBS=4 CI=true # sccache 对 CARGO_*(除 jobserver/jobs 等特例)参与 hash,必须与 workflow 对齐。 -export CARGO_HTTP_MULTIPLEXING=false CARGO_NET_RETRY=10 CARGO_TERM_COLOR=always +export CARGO_HTTP_MULTIPLEXING=false CARGO_NET_RETRY=10 CARGO_TERM_COLOR=always CARGO_TERM_QUIET=true bash /tmp/ci-rust-cache.sh prepare set -a source "${GITHUB_ENV}" diff --git a/scripts/check-native-shells.mjs b/scripts/check-native-shells.mjs index 4dcf9550b..84e7c5125 100644 --- a/scripts/check-native-shells.mjs +++ b/scripts/check-native-shells.mjs @@ -5081,7 +5081,7 @@ for (const step of steps) { continue; } - console.log(`[check:native-shells] ${step.label}`); + // 成功不打印进度标签;只有在失败时才知道是哪个 step,避免每个 step 一行刷屏。 const result = spawnSync(step.command, step.args, { cwd: process.cwd(), stdio: 'inherit', @@ -5102,6 +5102,9 @@ for (const step of steps) { } if ((result.status ?? 0) !== 0) { + console.error( + `[check:native-shells] ${step.label} failed (exit=${result.status})`, + ); process.exit(result.status ?? 1); } } diff --git a/vitest.config.ts b/vitest.config.ts index 2d66a04ff..6401f100f 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -94,6 +94,10 @@ export default defineConfig({ test: { environment: 'node', globals: true, + // 成功用例不回放被测代码写进 stdout / stderr 的内容:CI 日志里只保留每个 + // 失败用例的断言摘要,避免 React act 警告、dev 调度日志这类噪音刷屏。 + // 需要在本机排查时用 `vitest run --silent=false` 覆盖本次配置。 + silent: true, minThreads: 1, maxThreads: 8, server: {