GitHub Actions ジョブサマリー機能を使う

| 2 min read
Author: masahiro-kondo masahiro-kondoの画像

GitHub Actions のジョブサマリー機能がリリースされました。

Supercharging GitHub Actions with Job Summaries | The GitHub Blog

ワークフロー内で、GITHUB_STEP_SUMMARY 環境変数を用いてワークフロー実行中の情報を出力できます。出力内容はワークフロー実行のサマリーページに表示されます。GitHub Flavored Markdown が使えますので、表現力は十分でしょう。

さっそく GitHub Actions のジョブ制御の記事で作成したワークフローに組み込んでみます。

各ジョブの最後で Slackに通知する情報を出力しているので、同じ場所でジョブサマリーにも出力します。

  TestA:
runs-on: ubuntu-latest
needs: Build
outputs:
done: ${{ steps.check.outputs.message }}
name: Run Test A
steps:
- name: Test A
run: echo Test A
- id: check
if: ${{ always() }}
run: |
echo "::set-output name=message::Test A ${{ (job.status == 'success' && '✅') || '❌' }}"
echo "- TestA : ${{ (job.status == 'success' && '✅') || '❌' }}" >> $GITHUB_STEP_SUMMARY

ワークフローを実行して、サマリーページを確認すると、下の3つのセクションにワークフローで出力したジョブサマリーが表示されました (この例だと元々表示されているものから情報量は全く増えていませんが)。

リッチなサマリーページを作るには、echo コマンドで頑張るのではなく、ジョブサマリー機能を使った Action を利用する想定のようです。そのため、JavaScript Action 作成用 NPM パッケージ @actions/core に Markdown 出力用のヘルパーユーティリティが追加された模様です。

上記ブログには、ジョブの詳細情報を Markdown のテーブルに出力したサンプル画像が掲載されています。

今後、ジョブサマリーの機能を使った Action が開発されサマリーページにジョブ実行に関する有益な情報を表示できるようになっていくことでしょう。
また、そのような Action の登場を待たなくても echo だけで手軽にサマリーページに付加情報を表示できるので機会があれば利用してみてはいかがでしょうか。

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  2. Tauri でデスクトップアプリ開発を始める (2022-07-08)
  3. Deno による Slack プラットフォーム(オープンベータ) (2022-09-27)
  4. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  5. ORマッパーのTypeORMをTypeScriptで使う (2022-07-27)
  6. 第1回 OpenAPI Generator を使ったコード生成 (2022-06-04)
  7. 直感が理性に大反抗!「モンティ・ホール問題」 (2022-07-04)
  8. Rust によるデスクトップアプリケーションフレームワーク Tauri (2022-03-06)
  9. 箱ひげ図で外れ値を確認する (2022-05-18)
  10. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)