如何在Github Action中使用Github发行版本号

时间:2019-12-29 10:39:55

标签: github version pipeline github-actions

我创建了一个Github存储库,该库可以执行操作来构建npm软件包并将其发布到npmjs.com。我行动的触发因素是在Github中创建了一个新版本。创建新版本时,Github要求我提供版本号。我很想在Action中使用此版本号,并将其提供给yarn publish命令。

我的ci文件看起来像这样(我剥去了一些不重要的部分):

name: Deploy npm package

on:
  release:
    types: [created]

jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - run: yarn install
      - run: yarn build
      - run: yarn publish --new-version ${...}
        env:a
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}

是否有一个环境变量包含该发行版的版本号?

2 个答案:

答案 0 :(得分:1)

您可以使用${{ github.event.release.tag_name }}获取标签版本。

答案 1 :(得分:0)

应为${{ github.event.release.tag_name }}。可以在这里找到发布的结构:https://developer.github.com/v3/repos/releases/#get-a-single-release

我也建议使用

on:
  release:
    types: [published]

不是为了避免在草稿版本中将某些内容添加到npm而创建的。 参见:https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#release-event-release

提示:

要调试事件,您可以使用:

jobs:
  debug:
    name: Debug
    runs-on: ubuntu-latest
    steps:
      - name: Dump env
        run: env | sort
      - name: Dump GitHub context
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"