Initial TrueGrowth source import

This commit is contained in:
2026-07-07 09:36:36 +08:00
commit 3b6781d695
2283 changed files with 691996 additions and 0 deletions

133
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,133 @@
name: CI
on:
push:
branches:
- main
pull_request:
permissions:
actions: read
contents: read
jobs:
# PR 时运行lint、test、build 和冒烟测试
main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Cache node_modules
- uses: actions/setup-node@v3
with:
node-version: 20
cache: 'pnpm'
- run: corepack enable pnpm
- run: pnpm install
- uses: nrwl/nx-set-shas@v4
# 安装 Playwright 浏览器和依赖
- name: Install Playwright
run: npx playwright install --with-deps chromium
# lint、test、build
- run: npx nx affected -t test build --base=origin/develop --verbose
- run: npx nx affected -t lint --exclude=drawnix --base=origin/develop --verbose
# PR 时运行冒烟测试快速约2分钟
- name: Run Smoke Tests
run: pnpm run e2e:smoke
- name: Upload Smoke Test Results
if: failure()
uses: actions/upload-artifact@v4
with:
name: smoke-test-results
path: apps/web-e2e/test-results/
# PR 时运行视觉回归测试
- name: Run Visual Regression Tests
run: pnpm run e2e:visual
- name: Upload Visual Test Report
if: failure()
uses: actions/upload-artifact@v4
with:
name: visual-diff-report
path: apps/web-e2e/playwright-report/
- name: Check Bundle Size
if: always()
run: pnpm run size
- name: Upload Bundle Stats
if: always()
uses: actions/upload-artifact@v4
with:
name: bundle-stats
path: dist/apps/web/stats.html
# 发布前运行:完整 E2E 测试 + 生成用户手册
release-e2e:
runs-on: ubuntu-latest
# 仅在 main 分支 push 或手动触发时运行
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 20
cache: 'pnpm'
- run: corepack enable pnpm
- run: pnpm install
# 安装所有浏览器用于完整测试
- name: Install Playwright Browsers
run: npx playwright install --with-deps
# 运行完整功能测试
- name: Run Full E2E Tests
run: pnpm run e2e:features
# 运行视觉回归测试
- name: Run Visual Tests
run: pnpm run e2e:visual
# 运行手册生成测试
- name: Run Manual Generation Tests
run: pnpm run e2e:manual
# 生成用户手册
- name: Generate User Manual
run: pnpm run manual:build
# 上传测试报告
- name: Upload E2E Test Report
if: always()
uses: actions/upload-artifact@v4
with:
name: e2e-test-report
path: apps/web-e2e/playwright-report/
# 上传测试结果(包含截图)
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: e2e-test-results
path: apps/web-e2e/test-results/
# 上传用户手册
- name: Upload User Manual
uses: actions/upload-artifact@v4
with:
name: user-manual
path: docs/user-manual/