GitHub でリリースするときに、指定したバージョンをワークフロー内で使いたい時にnektos/act ではどうしたら良いか分からなかったので試したメモ。
Webにある記事や GitHub のマニュアルによると、${{ github.event.release.tag_name }}
でタグの名前が取得できるらしい。
Webhook のイベントとペイロード - GitHub Docs
しかしながら、どうやってnektos/act へその情報を渡せば良いのかはドキュメントを見ても理解できませんでした。
GitHub - nektos/act: Run your GitHub Actions locally 🚀
test.yml
というスモールケースを作って、先ほどの Github のマニュアルとnektos/actのドキュメントを眺めながら調査しました。
name: test on: release: types: - published jobs: build: runs-on: ubuntu-latest steps: - name: Deploy Production run: | export VERSION=`echo ${{ github.event.release.tag_name }} | awk '{print substr($0, 2)}'` echo ${VERSION}
その結果、github.event.release.tag_name
のevent
以下を要素とした JSON を作ったらうまくいきました。
> cat event.json { "release": { "tag_name": "vworkflow_test5" } }
このファイルを使ったactの実行は以下のように -e ファイル名
でできます。
act -W .github/workflows/test.yml -e event.json