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

如何为GitHub Actions的不同Job配置不同触发器?

为GitHub Actions工作流的不同Job设置独立触发器

要实现tests Job在push事件自动运行,build Job仅通过手动触发(workflow_dispatch)运行,你需要调整工作流的触发器配置,并给build Job添加运行条件,同时保留build对tests的依赖(确保构建仅在测试通过后执行)。

修改后的完整工作流文件如下:

name: Tests + Build 😎

# 同时支持push事件和手动触发
on:
  push:
  workflow_dispatch:

jobs:
  tests:
    name: Test my project 🧪
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        unityVersion:
          - 2021.3.4f1
    steps:
      # Checkout (without LFS)
      # Git LFS
      # Cache
      # Run Unity Test (Editor and Play mode)

  build:
    name: Build my project ✨
    # 仅在手动触发时运行
    if: ${{ github.event_name == 'workflow_dispatch' }}
    needs: tests
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        unityVersion:
          - 2021.3.4f1
    steps:
      # Checkout (without LFS)
      # Git LFS
      # Cache
      # Build
      # Output

关键修改说明:

  • 触发器配置:将on字段从仅push改为同时包含push和workflow_dispatch,让工作流既支持代码推送时自动触发,也支持手动触发。
  • build Job运行条件:给build Job添加if: ${{ github.event_name == 'workflow_dispatch' }},确保该Job仅在手动触发时执行,避免自动构建产生不必要的缓存占用。
  • 依赖关系保留:保留needs: tests,确保手动触发构建时会先执行测试,只有测试通过后才启动构建流程,保障代码质量。

设置后的效果:

  • 代码推送(push)时,仅自动运行tests Job,不会触发构建;
  • 需要构建项目时,通过GitHub仓库的Actions页面手动触发工作流,此时会先执行测试,测试通过后自动完成构建。

内容的提问来源于stack exchange,提问作者Pedro Marangon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 06:27:08