kakakakakku blog

Weekly Tech Blog: Keep on Learning!

GitHub Actions で [skip ci] のような「カスタムメッセージ」でワークフローを制御する

GitHub Actions を使っていて,コミットはプッシュするけどビルドはまだ実行したくないというときに [skip ci] をよく使っている.GitHub Actions では2021年にサポートされていて,他にも [no ci][skip actions] などのメッセージも使える👌

docs.github.com

github.blog

最近 GitHub Actions ワークフローを実装しているときに [skip ci] のような「カスタムメッセージ」を使ってワークフローのステップを制御できたら便利かもしれない💡と思って試してみた.結論としてはワークフローのステップで if: contains(github.event.head_commit.message, '[do something]') にように実装すれば簡単に実現できた❗️

🐰 workflow.yml サンプル

name: Sandbox Custom Message

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  sandbox:
    runs-on: ubuntu-latest
    steps:
      - name: START
        run: echo start!
      - name: DO SOMETHING
        run: echo yay!
        if: contains(github.event.head_commit.message, '[do something]')
      - name: END
        run: echo end!

動作確認

実行結果