我有一个工作流,需要在推送或拉取请求上执行,但最后一步除外,它会将一个软件包推送到 NuGet(我不希望这在拉取请求上发生,即使是对主分支的拉取请求也是如此)。
如果工作流是由拉取请求触发的,我该如何防止“发布 NuGet”这一步骤运行?
name: .NET Core
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.101
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
- name: Publish NuGet
uses: brandedoutcast/publish-nuget@v2.5.2
with:
PROJECT_FILE_PATH: "Orleans.Sagas/Orleans.Sagas.csproj"
NUGET_KEY: ${{secrets.NUGET_KEY}}
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
。 - Jamesgithub.event_name
将变为push
而不是pull_request
。@smoonin的解决方案解决了这个问题。 - Bernardo Ramos