ENECHANGE Developer Blog

ENECHANGE開発者ブログ

GitHub Actions Job Summaries を使ってみた

CTO室の岩本 (iwamot) です。2022-05-09 にリリースされた GitHub Actions Job Summaries を、さっそく使ってみました。ワークフロー実行時のパラメータを表示しただけですが、まさにこういうことがやりたかったので、うれしいリリースです。

実行結果

実行時の GITHUB_REFinputs.updateDockerrun の値が出力されました。

ワークフローの変更点

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3360b57..51da580 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -35,8 +35,11 @@ jobs:
     steps:
       - name: Show parameters
         run: |
-          echo "GITHUB_REF=${GITHUB_REF}"
-          echo "inputs.updateDockerrun=${UPDATE_DOCKERRUN}"
+          echo "### Parameters" >> $GITHUB_STEP_SUMMARY
+          echo "| Key | Value |" >> $GITHUB_STEP_SUMMARY
+          echo "| --- | --- |" >> $GITHUB_STEP_SUMMARY
+          echo "| GITHUB_REF | ${GITHUB_REF} |" >> $GITHUB_STEP_SUMMARY
+          echo "| inputs.updateDockerrun | ${UPDATE_DOCKERRUN} |" >> $GITHUB_STEP_SUMMARY

       - name: Checkout
         uses: actions/checkout@v2

ワークフローを実行したブランチや、実行時に指定したパラメータを後から確認しやすいように、もともと echo していました。これを GitHub Actions Job Summaries に置き換えただけです。

$GITHUB_STEP_SUMMARY への echo を続けるのはカッコ悪い感じですが、公式ドキュメントでも:

For multiline Markdown content, you can use >> to continuously append content for the current step. With every append operation, a newline character is automatically added.

として、下記の例が紹介されています。

- name: Generate list using Markdown
  run: |
    echo "This is the lead in sentence for the list" >> $GITHUB_STEP_SUMMARY
    echo "" >> $GITHUB_STEP_SUMMARY # this is a blank line
    echo "- Lets add a bullet point" >> $GITHUB_STEP_SUMMARY
    echo "- Lets add a second bullet point" >> $GITHUB_STEP_SUMMARY
    echo "- How about a third one?" >> $GITHUB_STEP_SUMMARY

今後どうしたいか

このワークフローでは Docker イメージをビルドして Amazon ECR に push しているので、どのようなイメージがどこに push されたのか、一目で分かるように整備したいと思っています。