优化内容: - 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:
+11
-89
@@ -107,8 +107,12 @@ steps:
|
||||
environment:
|
||||
NODE_ENV: test
|
||||
CI: true
|
||||
depends_on:
|
||||
- lint
|
||||
- type-check
|
||||
- security-scan
|
||||
commands:
|
||||
- npm install
|
||||
- npm install --cache /tmp/npm-cache
|
||||
- npm run test:coverage:check
|
||||
volumes:
|
||||
- /tmp/npm-cache:/root/.npm
|
||||
@@ -125,35 +129,21 @@ steps:
|
||||
# ============================================
|
||||
# 阶段3: E2E测试 (分层测试)
|
||||
# ============================================
|
||||
e2e-smoke:
|
||||
image: mcr.microsoft.com/playwright:v1.48.0-jammy
|
||||
environment:
|
||||
NODE_ENV: test
|
||||
CI: true
|
||||
commands:
|
||||
- npm ci
|
||||
- cd e2e && npm ci
|
||||
- npx playwright install chromium --with-deps
|
||||
- npm run test:smoke
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
branch:
|
||||
- feature/**
|
||||
|
||||
e2e-standard:
|
||||
e2e-tests:
|
||||
image: mcr.microsoft.com/playwright:v1.48.0-jammy
|
||||
environment:
|
||||
NODE_ENV: test
|
||||
CI: true
|
||||
BASE_URL: http://localhost:3000
|
||||
commands:
|
||||
- npm ci
|
||||
- npm ci --cache /tmp/npm-cache
|
||||
- npm run build
|
||||
- cd e2e && npm ci
|
||||
- cd e2e && npm ci --cache /tmp/npm-cache
|
||||
- cd e2e && npx playwright install chromium --with-deps
|
||||
- cd e2e && npm run test:standard
|
||||
volumes:
|
||||
- /tmp/npm-cache:/root/.npm
|
||||
- /tmp/playwright-cache:/root/.cache/ms-playwright
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
@@ -162,74 +152,6 @@ steps:
|
||||
- release
|
||||
- release/**
|
||||
|
||||
e2e-deep:
|
||||
image: mcr.microsoft.com/playwright:v1.48.0-jammy
|
||||
environment:
|
||||
NODE_ENV: test
|
||||
CI: true
|
||||
commands:
|
||||
- npm ci
|
||||
- cd e2e && npm ci
|
||||
- npx playwright install chromium firefox webkit --with-deps
|
||||
- npm run test:tier:deep
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- release
|
||||
- release/**
|
||||
|
||||
e2e-performance:
|
||||
image: mcr.microsoft.com/playwright:v1.48.0-jammy
|
||||
environment:
|
||||
NODE_ENV: test
|
||||
CI: true
|
||||
commands:
|
||||
- npm ci
|
||||
- cd e2e && npm ci
|
||||
- npx playwright install chromium --with-deps
|
||||
- npm run test:performance
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- release
|
||||
- release/**
|
||||
|
||||
e2e-accessibility:
|
||||
image: mcr.microsoft.com/playwright:v1.48.0-jammy
|
||||
environment:
|
||||
NODE_ENV: test
|
||||
CI: true
|
||||
commands:
|
||||
- npm ci
|
||||
- cd e2e && npm ci
|
||||
- npx playwright install chromium --with-deps
|
||||
- npx playwright test --grep @accessibility
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- release
|
||||
- release/**
|
||||
|
||||
e2e-visual:
|
||||
image: mcr.microsoft.com/playwright:v1.48.0-jammy
|
||||
environment:
|
||||
NODE_ENV: test
|
||||
CI: true
|
||||
commands:
|
||||
- npm ci
|
||||
- cd e2e && npm ci
|
||||
- npx playwright install chromium --with-deps
|
||||
- npx playwright test --grep @visual
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- release
|
||||
- release/**
|
||||
|
||||
# ============================================
|
||||
# 阶段4: 构建Docker镜像 (release分支)
|
||||
# ============================================
|
||||
|
||||
Reference in New Issue
Block a user