由于 Github Release 实际上是 Git Tag,我想在有新版本(和标签)时使用
Github Action自动升级我的
package.json
版本。
我知道我需要触发
job
on: release
,但根据 Github Actions 文档,我不知道是否需要在 created
、published
、两者或全部时触发?
Github 说:
注意:
版本不会触发release
事件。draft
我创建了两条管道:一条
on: release, type: created
和一条 on: release, type: published
。
然后我创建一个
draft
版本,然后我发布它。
仅触发了
published
管道,而且是在我发布版本时。
/releases
release-it
这样的脚本创建的,绕过“草稿”阶段直接“发布”,只有
release:published
会触发
published
。
解决方案是将两个工作流程统一为一个工作流程,以便在创建版本后继续下一个工作流程。
来源:
https://twitter.com/ethomson/status/1183838077166477316name: 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}}
版本就是这种情况。 我建议采用
published
类型的发布。