我对 Github 操作有以下操作,每次 PR 合并到 master 时,这些操作会自动打包并将包部署到 nuget.org。
name: Nuget Deploy
on:
push:
branches: [ master ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.101
- name: Generate Nuget package
run: dotnet pack
working-directory: DateOverride
- name: Deploy to nuget.org
run: dotnet nuget push *.nupkg -k ${{ secrets.NUGET_DEPLOY_KEY }} -s https://api.nuget.org/v3/index.json
working-directory: DateOverride/DateOverride/bin/Debug
Run Code Online (Sandbox Code Playgroud)
但是如果我的更新只是README.md
更新,我希望它不会运行,是否可以这样做?
我最近在我的 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)