Ste*_*sen 8 github github-actions
我最近在我的 GitHub 操作中添加了一个静态分析步骤。但是,它有点昂贵,所以我试图减少运行此步骤的次数。我已经添加了一个适当的过滤器,以便它只在一个操作系统上运行,并且只在我的“功能”分支上运行。但是,我还想过滤掉提交消息中包含“WIP”的所有签入。(理论是,在它不再是“正在进行的工作”之前,进行全面分析是没有意义的。)
我搜索了文档,希望能找到一个可以用作github上下文对象一部分的对象,但无济于事。
关于如何实现这一目标的任何想法?
如果你想确切地看到我在做什么,Yaml 的操作如下。我希望找到一些我可以if对Static Analysis项目声明进行的更改,以实现我的目标。
name: On Push
on: [push]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v1
- name: Build
run: |
./configure
make -j 4
- name: Run tests
run: |
make -j 4 check
- name: Static Analysis
if: runner.os == 'macOS' && startsWith(github.ref, 'refs/heads/feature/')
run: |
make analyze
Run Code Online (Sandbox Code Playgroud)
sma*_*c89 11
您可以利用上下文中的event属性来访问推送负载。github
将以下内容添加到执行分析的步骤中:
if: !startsWith(github.event.head_commit.message, 'WIP')
Run Code Online (Sandbox Code Playgroud)
与您的问题相关,您现在(2021 年 2 月)有:
GitHub 操作:跳过拉取请求和推送工作流
和
[skip ci]
GitHub Actions 现在支持通过在提交消息中查找一些常见关键字来跳过 push 和 pull_request 工作流程。
如果有任何在你推提交信息或HEAD提交您的PR包含字符串
[skip ci],[ci skip],[no ci],[skip actions],或[actions skip]工作流程触发的push或pull_request事件将被跳过。
这不像自定义提交消息(如您的“WIP”)那样灵活,但它仍然可以提供帮助。
| 归档时间: |
|
| 查看次数: |
1548 次 |
| 最近记录: |