You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何取消GitHub工作流中无对应runs-on标签的任务运行?

取消无对应自托管Runner的GitHub Actions任务运行方案

针对你的场景,有两种简单直接的实现方式:

方法一:直接限定矩阵中的有效Runner组合

既然你只有带ubuntu22.04,X64标签的自托管Runner,可直接修改矩阵配置,只保留存在对应Runner的系统与架构组合,这样工作流不会生成多余的任务:

name: Test

on:
  push:
    branches: 
      - action/test

jobs:
  super_test:
    strategy:
      matrix:
        # 仅保留有对应Runner的组合
        include:
          - os: ubuntu22.04
            arch: X64
    runs-on: [self-hosted, "${{ matrix.os }}", "${{ matrix.arch }}"]
    name: "With my ${{ matrix.os }}:${{ matrix.arch }}"
    steps:
      - uses: actions/checkout@v4.1.1
      - name: Print Something
        run: git branch

方法二:用条件判断跳过无效任务

如果你需要保留原矩阵的结构(比如后续可能添加其他Runner),可在Job级别添加if条件,仅当组合匹配现有Runner时才执行任务,其他任务会被标记为“已跳过”:

name: Test

on:
  push:
    branches: 
      - action/test

jobs:
  super_test:
    strategy:
      matrix:
        os: [ubuntu22.04]
        arch: [X64, X86, ARM64]
    # 仅执行存在对应Runner的任务组合
    if: matrix.os == 'ubuntu22.04' && matrix.arch == 'X64'
    runs-on: [self-hosted, "${{ matrix.os }}", "${{ matrix.arch }}"]
    name: "With my ${{ matrix.os }}:${{ matrix.arch }}"
    steps:
      - uses: actions/checkout@v4.1.1
      - name: Print Something
        run: git branch

内容的提问来源于stack exchange,提问作者Jinha Hwang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:52:53