CI/CD 流程
GitHub Actions 自动化流程和 Dependabot 依赖管理
概述
项目使用 GitHub Actions 实现两部分自动化:CI(持续集成,即每次提交代码时自动检查质量)和依赖更新(Dependabot 定期帮你升级第三方包)。部署相关内容见部署指南。
PR 验证流程
创建或更新 Pull Request 到 main 分支时,GitHub Actions 会自动运行以下检查,任何一项失败都会阻止合并:
Lint 检查 -- 用 Biome 检查代码格式和质量
pnpm lint:fix测试 -- 依次运行 package 单元测试、app 轻量测试和 Playwright smoke 测试(超时 60 分钟,失败时上传报告保留 30 天)
pnpm test:packages
pnpm --filter 01mvp-web test
pnpm --filter 01mvp-web smoke:ci构建验证 -- 执行生产构建,确保代码能正常编译
pnpm --filter 01mvp-web build本地提交前建议至少跑和你改动相关的检查。比如只改了 UI 就跑 lint + build,改了包代码就跑 pnpm verify:packages。具体测试内容见测试指南。
配置文件:.github/workflows/validate-prs.yml
Docker 镜像构建
推送到 main 分支或创建版本标签(如 v1.0.0)时,自动构建 Docker 镜像并推送到 GitHub Container Registry (ghcr.io)。也可以在 Actions 页面手动触发。
构建过程使用 turbo prune --docker 裁剪 workspace,只保留目标应用及其真实依赖,减少镜像体积。镜像会生成多个标签:latest、分支名、版本号、commit SHA。构建时从 .env.build 加载环境变量(网站 URL、S3 配置等),文件不存在则使用默认值。
配置文件:.github/workflows/docker-image.yml
Dependabot 依赖更新
Dependabot 是 GitHub 的自动化依赖更新工具。当前配置:每周二北京时间 10:00 检查一次,最多同时打开 2 个 PR。依赖分为两组——生产依赖(dependencies)和开发依赖(devDependencies),每组合并为一个 PR,避免几十个 PR 同时出现。
处理 Dependabot PR 时,在本地跑 pnpm install && pnpm verify:packages && pnpm dev 验证通过后即可合并。安全更新建议优先处理,不要等到例行合并窗口。
配置文件:.github/dependabot.yml