Skip to content

Move all check-bypass to separate job #77924

@SigureMo

Description

@SigureMo

目前,我们的 check-bypass 流水线分为两种:

方式一:job 内独立 step

类似 Codestyle-Check 流水线

- 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 流水线

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」的方式,提升豁免流程的易用性

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions