🦁

GitHubActionsでtag名を取得する方法(Windows)

2021/06/22に公開

Linux(Unix)の例はよく見ますが、
Windowsの場合は全くヒットしなかったので備忘録として残しておきます。

jobs:
  build:
    runs-on: self-hosted
    steps:
    - name: Get Version
      id: get_version
      shell: cmd
      run: |
        set A="::set-output name=TAG::"
        set B=${{github.ref}}
        echo %A:"=%%B:refs/tags/=%

    - name: Check Version
      run: echo ${{ steps.get_version.outputs.TAG }}

shell:cmdがキモです。
なにもつけなければPowershellで実行されるのですが、
echoの部分で以下のようにコケるので、cmdにします。

The string is missing the terminator: ".
    + CategoryInfo          : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString

Discussion