Merge remote-tracking branch 'origin/master' into test/silent-is-gold
Project CI / Backend tests (pull_request) Failing after 34s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m7s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m13s
Project CI / Repository checks (pull_request) Failing after 21s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m3s
Project CI / Frontend tests (pull_request) Successful in 2m30s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m4s
Project CI / Native shell tests (pull_request) Successful in 9m0s

This commit is contained in:
2026-10-04 15:51:59 +08:00
46 changed files with 1806 additions and 129 deletions
+3 -1
View File
@@ -255,7 +255,9 @@ function validateNginxRoutes(nginxPath, expectedRoutes, prefixRoutes) {
fail(`${nginxPath} ${failure}`);
}
if (!prefixLocationBody.includes('try_files $uri /index.html =404;')) {
fail(`${nginxPath} 前缀路由 ${prefix} 的 location 没有精确回退 index.html。`);
fail(
`${nginxPath} 前缀路由 ${prefix} 的 location 没有精确回退 index.html。`,
);
}
if (
exactLocationBody?.includes(maintenanceGuard) &&
+6 -2
View File
@@ -308,10 +308,14 @@ function validateRustMainSpaPrefixPaths() {
const missing = expected.filter((prefix) => !rustPrefixes.includes(prefix));
const extra = rustPrefixes.filter((prefix) => !expected.includes(prefix));
if (missing.length > 0) {
fail(`Pingora MAIN_SPA_PREFIX_PATHS 缺少当前前缀路由: ${missing.join(', ')}`);
fail(
`Pingora MAIN_SPA_PREFIX_PATHS 缺少当前前缀路由: ${missing.join(', ')}`,
);
}
if (extra.length > 0) {
fail(`Pingora MAIN_SPA_PREFIX_PATHS 包含非当前前缀路由: ${extra.join(', ')}`);
fail(
`Pingora MAIN_SPA_PREFIX_PATHS 包含非当前前缀路由: ${extra.join(', ')}`,
);
}
}
+2
View File
@@ -221,6 +221,7 @@ describe('retired creation template module boundary plugin', () => {
'src/persistence/storage.ts',
'src/routing/activeAppRoutes.tsx',
'src/services/apiClient.ts',
'src/services/gamePlayClientId.ts',
]) {
expect(isRetiredFrontendModuleId(workspacePath(path))).toBe(false);
}
@@ -271,6 +272,7 @@ describe('retired frontend ESLint boundary', () => {
'src/persistence/storage.ts',
'src/routing/activeAppRoutes.tsx',
'src/services/apiClient.ts',
'src/services/gamePlayClientId.ts',
]) {
await expect(eslint.isPathIgnored(path)).resolves.toBe(false);
}