Npm Github操作在创建的版本和发布的版本之间有所不同
由于Github发行版实际上是一个Git标记,所以我想在有新发行版(和标记)时使用Github操作自动升级我的Npm Github操作在创建的版本和发布的版本之间有所不同,npm,versioning,package.json,github-actions,git-tag,Npm,Versioning,Package.json,Github Actions,Git Tag,由于Github发行版实际上是一个Git标记,所以我想在有新发行版(和标记)时使用Github操作自动升级我的package.json版本 我知道我需要在:release上触发一个作业,但根据,我不知道在创建、发布时是否需要触发,是同时触发还是全部触发 Github说: 注意:对于草稿发布,不会触发发布事件 我创建了两个管道:一个on:release,type:created和一个on:release,type:published 然后我创建了一个草案发布,然后我发布了它 只有发布的管道被触发,
package.json
版本
我知道我需要在:release上触发一个作业
,但根据,我不知道在创建
、发布
时是否需要触发,是同时触发还是全部触发
Github说:
注意:对于草稿
发布,不会触发发布
事件
我创建了两个管道:一个on:release,type:created
和一个on:release,type:published
然后我创建了一个草案发布,然后我发布了它
只有发布的
管道被触发,它是在我发布发布时触发的。可以创建发布,但不能发布。草案版本就是这样
我建议使用发布的类型的发行版。我的经验与所描述的相反。测试时:
- 如果发布是通过
/releases
页面上的“Draft a new release”(起草新发布)按钮创建的,则当发布状态从“Draft”(起草)变为“published”(已发布)时,这两个事件都将触发
- 如果发布是由脚本创建的,比如绕过“草稿”阶段并直接变成“发布”,那么只有
release:published
才会触发
所以很明显,一个发布版可以在不创建的情况下发布。真奇怪。如果您试图将Github操作触发的发布的创建和发布捕获到另一个工作流中,那么它将无法工作
解决方案是将两个工作流统一为一个工作流,以便在创建发布后继续下一个工作流
资料来源:
例如:
name: Create Release and Publish
# Trigger the create release workflow
on:
push:
tags:
- 'v*'
jobs:
release:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
publish-gpr:
needs: release # After release is created then run the second workflow
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 10
registry-url: https://npm.pkg.github.com/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
请参阅我问题中的链接。Github说“注意:release
事件不会为draft
发布触发”。但是我要检查一下。为什么不在:release:types:[已创建]