-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Open
Description
目前,我们的 check-bypass 流水线分为两种:
方式一:job 内独立 step
类似 Codestyle-Check 流水线
Paddle/.github/workflows/Codestyle-Check.yml
Lines 24 to 29 in 01be8c4
| - name: Check bypass | |
| id: check-bypass | |
| uses: ./.github/actions/check-bypass | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| workflow-name: codestyle |
作为 job 内独立 step,但由于一旦作为 job 内的 step,后续所有 step 都需要检测该 step 才能完全跳过,比较繁琐
方式二:独立 job
类似 _Windows-GPU 流水线
Paddle/.github/workflows/_Windows-GPU.yml
Lines 23 to 29 in 01be8c4
| check-bypass: | |
| name: Check bypass | |
| uses: ./.github/workflows/check-bypass.yml | |
| with: | |
| workflow-name: "win-gpu" | |
| secrets: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} |
作为独立 job,后续 job 只需要单独判断一次即可,但是最终会在任务里多显示一个 check-bypass job,会让流水线数量翻倍
我们目前两种豁免机制属于并存状态,但经过这段时间的使用,可以明显发现「方式一:job 内独立 step」的如下缺点:
- 难以维护,后续所有 step 都需要判断该 step 的状态
- 该任务需要排上队才能走到豁免流程,但 self-hosted 机器排上队往往需要等很久,豁免流程并没有想象中的快速
可以说「方式一」除了不需要单独显示一个 job 外,一无是处
因此希望将所有任务中的豁免流程都替换为「方式二:独立 job」的方式,提升豁免流程的易用性
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels