在 GitHub 操作中已经停止 运行 workflow/job
Stop already running workflow/job in GitHub Actions
我已使用 GitHub 操作设置 CI。我的一个工作流程是由 push
事件触发的,但它(或此工作流程的一项工作)不应同时在多个实例上 运行。
是否可以创建一个停止其他工作流程的作业(或作业或不允许 workflow/job 运行 并行)?
我更愿意取消 "old" 作业,而不是需要 "new" 作业完成,直到 "old" 作业完成。
理想情况下,我还想 运行 最后完成 "old" 作业。(~保存未完成状态)。这可以(但不一定)运行 与 "new" 作业并行。
[注]
我想取消另一个工作流程或另一个工作流程中的作业,而不是同一工作流程中的另一个作业。
由于 Github 已经打开了新的工作流程 API,我创建了这个 small script 以在一个命令中手动取消所有未完成的作业:
Example:
# Set up
export GITHUB_TOKEN=394ba3b48494ab8f930fbc93
export GITHUB_REPOSITORY=apache/incubator-superset
# Cancel previous jobs for a PR
./cancel_github_workflows.py 1042
# Cancel previous jobs for a branch
./cancel_github_workflows.py my-branch
# Cancel all jobs including the last ones, this is useful
# when you have closed a PR or deleted a branch and want
# to cancel all its jobs.
./cancel_github_workflows.py 1024 --include-last
现在您可以使用 Github 操作的官方并发支持(但仍处于测试阶段)
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency
同时支持工作流和作业!
concurrency:
group: ${{ github.head_ref }}
cancel-in-progress: true
要停止所有 运行 工作流程,只需添加此作业
jobs:
cancel:
name: 'Cancel Other Workflow'
runs-on: ubuntu-latest
steps:
- uses: styfle/cancel-workflow-action@0.9.0
with:
access_token: ${{ github.token }}
您还可以通过添加
取消特定的工作流程
workflow_id:<workflow id or workflow name>
在 中: 部分。
有关此操作检查的更多信息
https://github.com/styfle/cancel-workflow-action#readme
我已使用 GitHub 操作设置 CI。我的一个工作流程是由 push
事件触发的,但它(或此工作流程的一项工作)不应同时在多个实例上 运行。
是否可以创建一个停止其他工作流程的作业(或作业或不允许 workflow/job 运行 并行)?
我更愿意取消 "old" 作业,而不是需要 "new" 作业完成,直到 "old" 作业完成。
理想情况下,我还想 运行 最后完成 "old" 作业。(~保存未完成状态)。这可以(但不一定)运行 与 "new" 作业并行。
[注] 我想取消另一个工作流程或另一个工作流程中的作业,而不是同一工作流程中的另一个作业。
由于 Github 已经打开了新的工作流程 API,我创建了这个 small script 以在一个命令中手动取消所有未完成的作业:
Example:
# Set up
export GITHUB_TOKEN=394ba3b48494ab8f930fbc93
export GITHUB_REPOSITORY=apache/incubator-superset
# Cancel previous jobs for a PR
./cancel_github_workflows.py 1042
# Cancel previous jobs for a branch
./cancel_github_workflows.py my-branch
# Cancel all jobs including the last ones, this is useful
# when you have closed a PR or deleted a branch and want
# to cancel all its jobs.
./cancel_github_workflows.py 1024 --include-last
现在您可以使用 Github 操作的官方并发支持(但仍处于测试阶段)
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency
同时支持工作流和作业!
concurrency:
group: ${{ github.head_ref }}
cancel-in-progress: true
要停止所有 运行 工作流程,只需添加此作业
jobs:
cancel:
name: 'Cancel Other Workflow'
runs-on: ubuntu-latest
steps:
- uses: styfle/cancel-workflow-action@0.9.0
with:
access_token: ${{ github.token }}
您还可以通过添加
取消特定的工作流程workflow_id:<workflow id or workflow name>
在 中: 部分。
有关此操作检查的更多信息 https://github.com/styfle/cancel-workflow-action#readme