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

形式一

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

name: Releaseon:  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: Releaseon:  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/