乐趣区

关于github-actions:GitHub-Action-版本发布时获取-tag-作为版本号

应用 GitHub Action 公布版本时, 获取触发的 tag 作为公布的版本号.

形式一

通过 step 获取 tag, 在须要应用的中央应用 steps.get_version.outputs.VERSION,
其中 get_versionstepid.

name: Release

on:
  push:
    tags:
    - 'v*'

jobs:

  release:
    name: Release
    runs-on: ubuntu-latest
    steps:
    
    - name: Get version
      id: get_version
      run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
    
    - name: Create Release
      uses: actions/create-release@v1
      env:
        GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
      with:
        tag_name: ${{steps.get_version.outputs.VERSION}}
        release_name: ${{steps.get_version.outputs.VERSION}}
        draft: false
        prerelease: false

形式二

间接应用 github.ref (触发条件为 tag).

name: Release

on:
  push:
    tags:
    - v*

jobs:
  release:
    name: Create Release
    runs-on: ubuntu-latest
    steps:
    
    - name: Create Release
      id: create_release
      uses: actions/create-release@v1
      env:
        GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
      with:
        tag_name: ${{github.ref}}
        release_name: ${{github.ref}}
        draft: false
        prerelease: false

总结

如果只是想获取 tag, 应用 形式二 是最简略的, 但要留神上述例子里的触发条件是 tag,
如果是其余触发条件, github.ref 可能就不是 tag 了.
当然 形式一 作为一种应用参考, 能够用在须要获取输入值的场景.

原文链接: https://goworker.cn/posts/github-action-get-tag/

退出移动版