GitHub Actions でビルド番号が使えるようになってる

GitHub Actions でもビルド番号が利用できるようになりました。

help.github.com

かなり最近入った機能なので、現時点では日本語ドキュメントでも説明が英語のままです。

GITHUB_RUN_IDGITHUB_RUN_NUMBER それぞれ 実行ID と実行番号というところでしょうか。他のビルトイン環境変数と同様、GITHUB_ という予約されたプレフィクスになっています。

環境変数 説明
GITHUB_RUN_ID リポジトリ内の実行単位で採番される ID
GITHUB_RUN_NUMBER リポジトリ内のワークフロー毎にユニークに採番される。1からスタートし実行される度にインクリメントされる

どちらも、ワークフローの Re-Run で変わることはありません。GITHUB_RUN_ID はリポジトリ内でユニークな数字であり、 一般にビルド番号としての利用が想定されるのは、GITHUB_RUN_NUMBER だと思います。ワークフロー単位なので、ワークフロー内の異なるジョブでも、同じ ID, 番号が取得されます。今のところ、番号をリセットする API などはない模様です*1

使い方ですが、ワークフロー内に記述するときは、${{ github.run_number }} で取得できます。ビルド成果物にビルド番号を含めて保存する例です。

steps:
- uses: actions/upload-artifact@v1
  with:
    name: my-artifact-${{ github.run_number }}
    path: path/to/my-artifact

run や シェルでは GITHUB_RUN_NUMBER という環境変数として取得できます。

echo ${GITHUB_RUN_NUMBER}

GitHub Action かなり機能が充実してきましたが、手動起動なども実装されて欲しいところです *2

*1:番号をリセットしたい時は、ワークフローの YAML ファイルをリネームすればよいかもしれません

*2:'repository_dispatch' トリガーを追加すれば curl から叩いたりできるのですが、branch に対してワークフローを指定できないなど微妙な仕様です。