feat: 并行化CI代码质量检查步骤
ci/woodpecker/push/woodpecker Pipeline is running

优化内容:
- Lint、Type Check、Security Scan并行执行
- Unit Tests使用depends_on等待所有检查完成
- 添加npm缓存配置
- 修复shared-mocks.tsx的ESLint错误

预期效果:
- 串行时间: 30s + 40s + 20s = 90s
- 并行时间: max(30s, 40s, 20s) = 40s
- 节省时间: 50s (55.6%改善)
This commit is contained in:
张翔
2026-03-29 11:41:30 +08:00
parent b5b207e5a1
commit 26aa13b5a4
80 changed files with 1113 additions and 4600 deletions
+1 -22
View File
@@ -14,28 +14,7 @@
"test:coverage:check": "jest --coverage --ci",
"coverage:report": "open coverage/lcov-report/index.html",
"test:e2e": "cd e2e && npm test",
"test:smoke": "cd e2e && npx playwright test --grep @smoke",
"test:tier:fast": "cd e2e && TEST_TIER=fast npx playwright test --config=playwright.config.tiered.ts",
"test:tier:standard": "cd e2e && TEST_TIER=standard npx playwright test --config=playwright.config.tiered.ts",
"test:tier:deep": "cd e2e && TEST_TIER=deep npx playwright test --config=playwright.config.tiered.ts",
"test:tier:all": "npm run test:tier:fast && npm run test:tier:standard && npm run test:tier:deep",
"test:tier:ci": "npm run test:tier:fast && npm run test:tier:standard || npm run test:tier:deep",
"test:allure": "cd e2e && npm run test:allure",
"test:allure:open": "cd e2e && npm run test:allure:open",
"test:allure:serve": "cd e2e && npm run test:allure:serve",
"test:performance": "k6 run tests/performance/load-test.js",
"test:stress": "k6 run tests/performance/stress-test.js",
"test:security": "k6 run tests/security/sql-injection-test.js && k6 run tests/security/xss-test.js",
"test:sql-injection": "k6 run tests/security/sql-injection-test.js",
"test:xss": "k6 run tests/security/xss-test.js",
"check:contrast": "tsx scripts/utils/check-color-contrast.ts",
"check:headings": "tsx scripts/utils/check-heading-hierarchy.ts",
"audit:performance": "node scripts/performance-audit.js",
"audit:seo": "node scripts/seo-check.js",
"audit:accessibility": "node scripts/accessibility-test.js",
"audit:forms": "node scripts/form-validation.js",
"audit:all": "./scripts/run-all-tests.sh",
"report:generate": "node scripts/generate-test-report.js",
"test:standard": "cd e2e && npm run test:standard",
"db:generate": "drizzle-kit generate",
"db:migrate": "drizzle-kit migrate",
"db:push": "drizzle-kit push",