多环境Vercel部署下Github Actions仅展示相关检查结果的方法
解决GitHub PR检查被非Test环境运行覆盖的问题
方法1:限制工作流仅在Test环境部署时触发
把原来在Job层面的if判断移到工作流的触发条件中,让整个Cypress测试工作流只响应Test环境的部署状态变化,彻底避免acc/prod环境触发该工作流,也就不会产生skipped的运行记录,PR检查面板里只会显示Test环境对应的测试结果。
修改后的工作流配置示例:
name: Cypress Test (Preview - Test) on: deployment_status: types: [completed] # 可选,仅在部署完成后触发测试 environment: name: 'Preview – Test' jobs: cypress-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install dependencies run: npm ci - name: Execute Cypress tests run: npm run cypress:run
这样配置后,只有Preview – Test环境的部署完成时才会启动测试工作流,acc/prod环境的部署不会触发它,PR检查结果自然不会被无关的skipped记录覆盖。
方法2:指定唯一Job名称并配置必填检查
如果不想调整工作流触发逻辑,可以给Cypress测试Job设置一个独一无二的名称(比如cypress-test-preview-test),然后在仓库的Settings → Branches → Branch protection rules中,将该名称的检查设为PR合并的必填项。
不过这种方法仍会产生acc/prod环境对应的skipped运行记录,只是GitHub会强制要求必填的Test环境检查通过才允许合并,不如方法1彻底。
内容的提问来源于stack exchange,提问作者tlolkema
相关产品推荐
相关产品推荐

