如何在GitHub Actions中编写Pull Request的lint校验与测试执行流水线
Pull Request 代码校验测试流水线配置方案
1. 前置操作
在你的仓库根目录下创建路径 .github/workflows/pr-code-check.yml,GitHub 会自动识别该目录下的 YAML 文件作为 Actions 流水线配置。
2. 完整配置内容
将以下内容复制到刚才创建的配置文件中即可:
name: PR代码校验与测试 # 触发规则:Pull Request事件触发 on: pull_request: # 可按需指定触发分支,仅往对应分支提PR时才触发,不需要可删除以下两行 branches: - main jobs: code-check: # 指定运行环境为最新版Ubuntu runs-on: ubuntu-latest steps: # 第一步:拉取当前仓库代码到运行环境 - name: 检出代码 uses: actions/checkout@v4 # 第二步:配置Node.js环境,版本可替换为你项目适配的Node版本 - name: 配置Node.js环境 uses: actions/setup-node@v4 with: node-version: 20 # 开启npm缓存,提升后续依赖安装速度 cache: 'npm' # 第三步:安装项目依赖 - name: 安装依赖 run: npm ci # 第四步:执行代码校验 - name: 运行lint校验 run: npm run lint # 第五步:执行测试用例 - name: 运行测试 run: npm run test
3. 注意事项
- 如果不需要限制PR的目标分支,直接删除
on.pull_request.branches字段即可,所有PR提交都会触发流水线。 - 配置中的Node版本建议和你项目本地开发使用的版本保持一致,避免环境差异导致校验/测试结果异常。
- 这里用
npm ci而不是npm install是为了严格按照package-lock.json的版本安装依赖,保证环境一致性;如果你的项目用yarn/pnpm,替换为对应依赖安装命令即可。
4. 生效方式
把该配置文件提交推送到仓库的默认分支(比如main)后就会自动生效,后续所有新提交的Pull Request都会自动运行该流水线,PR页面会直接展示运行结果,校验或测试不通过时会标记失败,阻止代码合并。
内容的提问来源于stack exchange,提问作者Igor Messi
相关产品推荐
相关产品推荐

