推送到某个分支时运行 github 操作

zac*_*ixo 5 github-actions

我想运行一个操作来检查我的代码是否在我推送到开发分支时编译。但由于我的操作位于 main 中,因此每当我推送到 dev 分支时它都不会运行。我试图理解文档,但它确实没有任何帮助。这是代码:

name: check-compile
on:
  push:
    branches: 
    - dev
Run Code Online (Sandbox Code Playgroud)

Gui*_*urd 9

有多种方法可以为特定分支运行工作流。

第一个选项

您编写的分支仅在默认分支时才起作用dev,为了使其与其他引用/头一起工作,您需要'在分支名称周围添加:

name: check-compile
on:
  push:
    branches: 
     - 'dev'
Run Code Online (Sandbox Code Playgroud)

更多信息请点击此处

.yml注意:仅当工作流文件存在于特定分支上时,它才适用于此实现。

第二个选择

您可以为所有推送运行工作流程,但仅针对特定分支执行特定步骤作业。为此,您可以if在 thejobsteplevel 上使用条件:

name: check-compile
on: [push] #to any branch
jobs:
  job:
    runs-on: ubuntu-latest  
    if: github.ref == 'refs/heads/dev' # run this job only for the dev branch
    steps:
      ...
Run Code Online (Sandbox Code Playgroud)

更多信息请点击此处

第三种选择

您还可以使用 , 过滤分支!,以在除通知的分支之外的任何分支上运行工作流:

on:
  push:
    branches:
      - '*'
      - '!master'
Run Code Online (Sandbox Code Playgroud)