GitHub Actions上でコマンドの実行ログを出しつつ内容をJob Summaryにも表示する
#github
#shellscript
GitHub Actions の step 実行結果にコマンドの実行ログを流しつつ、Job Summary にも同じ内容を表示したい場合のやり方。以下のように tee
を挟んで $GITHUB_STEP_SUMMARY
(ファイル)にリダイレクトすればいい。
name: Run command demo 'on': workflow_dispatch: jobs: demo: runs-on: ubuntu-latest steps: - name: Run shell: bash run: | echo "shell: $0" echo "# Result" >> $GITHUB_STEP_SUMMARY echo "\`\`\`" >> $GITHUB_STEP_SUMMARY ps -ax | tee >(cat) >> $GITHUB_STEP_SUMMARY echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
結果はこのように。
コマンドを実行する step が Bourne Shell で動いていると tee >(cat) で怒られるので、その場合は shell: bash
で bash を使うよう指定する。
sh: syntax error near unexpected token `('
最初このエラー原因に気づかず some-command | tee >/dev/tty >> GITHUB_STEP_SUMMARY
として逃げようとしたが、今度は GitHub Actions で tty が使えずハマったのだった。