gaza/.forgejo/workflows/ci.yml
Ubuntu 6e422f6e41 补齐持续集成与 Docker 健康验证
Co-authored-by: multica-agent <github@multica.ai>
2026-08-03 19:06:05 +00:00

55 lines
1.3 KiB
YAML

name: CI
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
jobs:
quality:
name: Node 质量门禁
runs-on: docker
timeout-minutes: 15
steps:
- name: 检出代码
uses: actions/checkout@v4
- name: 配置 Node.js
uses: actions/setup-node@v4
with:
node-version: 22.18.0
cache: npm
- name: 安装锁定依赖
run: npm ci
- name: TypeScript 类型检查
run: npm run typecheck
- name: 单元与组件测试
run: npm test
- name: 生产构建
run: npm run build
- name: 高危依赖审计
run: npm audit --audit-level=high
docker:
name: Docker 构建与健康检查
runs-on: docker
timeout-minutes: 15
steps:
- name: 检出代码
uses: actions/checkout@v4
- name: 构建 Web 镜像
run: docker compose build web
- name: 启动 Web 服务
run: docker compose up --no-build --detach web
- name: 等待健康检查通过
run: ./scripts/check-web-health.sh
- name: 输出故障诊断
if: failure()
run: docker compose ps && docker compose logs --no-color web
- name: 清理容器
if: always()
run: docker compose down --volumes --remove-orphans