Files
gongxue-base/.gitea/workflows/ci.yml

60 lines
1.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PR 自动检查:代码风格 + 类型检查 + 测试
name: CI 检查
on:
pull_request:
branches: [main]
push:
branches: [main]
# 同一分支有新提交时取消旧任务,避免旧任务持续占用 Gitea runner。
concurrency:
group: ci-${{ gitea.ref }}
cancel-in-progress: true
jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 30
env:
CI: 'true'
TURBO_UI: stream
steps:
- name: 检出代码
uses: actions/checkout@v4
timeout-minutes: 3
- name: 安装 Node.js
uses: actions/setup-node@v4
timeout-minutes: 3
with:
node-version: '22'
cache: npm
- 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