Oha*_*hav 18 github github-actions
我有一个 GitHub Actions 工作流程文件,它允许使用事件手动触发workflow_dispatch。GitHub 提供了一个下拉列表来选择在哪个分支上运行工作流程。
我想知道是否有任何方法可以将该选项限制为特定分支(或特定分支)。
带有以下内容的工作流程文件示例workflow_dispatch:
name: A test workflow title
on:
push:
workflow_dispatch:
# branches: # *** This seems to not be supported! ***
# - main
jobs:
print-hello-world:
runs-on: ubuntu-20.04
steps:
- name: Print hello world
run: echo "Hello world!"
Run Code Online (Sandbox Code Playgroud)
Oha*_*hav 13
if如果工作流是由特定分支触发的,您可以添加一个步骤来使作业失败workflow_dispatch。
name: A test workflow title
on:
push:
workflow_dispatch:
jobs:
print-hello-world:
runs-on: ubuntu-20.04
steps:
- name: Fail if branch is not main
if: github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main'
run: |
echo "This workflow should not be triggered with workflow_dispatch on a branch other than main"
exit 1
- name: Print hello world
run: echo "Hello world!"
- name: Log github context
run: echo "${{ toJSON(github) }}"
Run Code Online (Sandbox Code Playgroud)
也可以通过将否定条件放入作业级别来跳过作业:
jobs:
print-hello-world:
if: github.event_name != 'workflow_dispatch' || github.ref == 'refs/heads/main'
runs-on: ubuntu-20.04
steps:
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6569 次 |
| 最近记录: |