GitHub ActionsのワークフローのステータスのバッジをREADMEに表示する
2019年9月現在ベータ公開中のGitHub Actions ですが、そういえばREADME.mdの上の方に置いておくアレ無いの?と思い気になったので調べてみました。
あるみたいです
調べてみたところ普通に公式ヘルプに書いてありました。
GitHub公式でバッジ対応しているようです。
Adding a workflow status badge to your repository
こんな感じ
actions/setup-node
のワークフローのバッジの例です。
ワークフロー名とビルドステータスが表示されます。
使い方
ヘルプの方にも書いてありますが記述方法が2つあってワークフローに名前を設定してるかどうかで設定方法が変わります。
ワークフロー名でバッジを作成する
OWNER
はレポジトリを管理しているユーザ名かOrganization名、REPOSITORY
はレポジトリ名、WORKFLOW_NAME
はワークフローの名前を指定します。
WORKFLOW_NAME
に半角スペースが含まれる場合はエスケープしなければダメで%20
に置き換える必要があります。
https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_NAME>/badge.svg
上記のactions/setup-node の例だとこんな感じです。
https://github.com/actions/setup-node/workflows/Main%20workflow/badge.svg
URLにリクエストするとバッジの画像が帰ってくるので通常のバッジと同様にREADME.mdにMarkdown形式などで埋め込むことができます。
ワークフローのファイルパスでバッジを作成する
ワークフローのYAMLのname
にワークフロー名を指定している場合は上記の方法でURLを作ればよいのですがname
のフィールドは任意のフィールドなので設定されていない場合もあります。
その場合はワークフロー名の代わりにYAMLのファイルパスで指定します。
どうやらname
が未指定の状態だとファイルパスがワークフロー名の代わりになるらしくActionsタブのワークフロー一覧にもファイルパスで表示されます。
https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_FILE_PATH>/badge.svg
name
が指定されている場合はこちらの方法ではNotFoundが帰ってくるのでワークフロー名でURLを作成しましょう。