feat: 重构 CI 工作流,合并 lint、类型检查和测试步骤
Some checks failed
CI 检查 / verify (pull_request) Has been cancelled

This commit is contained in:
2026-07-21 17:31:44 +08:00
parent cbc04fea4f
commit 04082820b0

View File

@@ -7,34 +7,53 @@ on:
push:
branches: [main]
# 同一分支有新提交时取消旧任务,避免旧任务持续占用 Gitea runner。
concurrency:
group: ci-${{ gitea.ref }}
cancel-in-progress: true
jobs:
lint:
verify:
runs-on: ubuntu-latest
timeout-minutes: 30
env:
CI: 'true'
TURBO_UI: stream
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm ci
- run: npm run lint
- name: 检出代码
uses: actions/checkout@v4
timeout-minutes: 3
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- name: 安装 Node.js
uses: actions/setup-node@v4
timeout-minutes: 3
with:
node-version: '22'
- run: npm ci
- run: npm run typecheck
cache: npm
test:
runs-on: ubuntu-latest
needs: [lint, typecheck]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm ci
- run: npm run test
- name: 安装依赖
run: npm ci --no-audit --no-fund
timeout-minutes: 10
- name: 代码检查
# 后端原 lint 脚本带 --fixCI 中追加 --no-fix避免检查时修改工作区。
run: |
npm run lint -w @gongxue/admin
npm run lint -w @gongxue/server -- --no-fix
timeout-minutes: 5
- name: 类型检查
run: npm run typecheck
timeout-minutes: 8
- name: 后端测试
run: npm run test -w @gongxue/server -- --runInBand --forceExit
timeout-minutes: 10
- name: 安装 Chromium
run: npx playwright install --with-deps chromium
timeout-minutes: 10
- name: 前端测试
run: npm run test -w @gongxue/admin
timeout-minutes: 10