GitHub Actionsのworkflow_dispatchが表示されない場合はデフォルトブランチの設定を確認しよう
こんにちは。サービスグループの武田です。
結論としてはタイトルのとおりです。手動でGitHub Actionsのワークフローを実行できるworkflow_dispatch
イベントを追加しようと、ブランチを切って設定をコミットしGitHubにpushしました。ところが、GitHubの画面上に表示されません。何が悪いのかと調べているうちに、公式ドキュメントに記載されている一文を見つけました。
GitHub で workflow_dispatch イベントをトリガーするには、ワークフローがデフォルトブランチに含まれている必要があります。 ワークフローの実行を手動でトリガーするには、次の手順に従います。 引用元:ワークフローの手動実行
そのため、新しくworkflow_dispatch
イベントを追加して試すためには、一度デフォルトブランチを変更し終わったら戻すという手順が必要となります。
実際に確認してみる
リポジトリを作成して実際に確認してみましょう。GitHubで新規にリポジトリを作成します。今回はactions-test
としました。クローンしてコミットします。
$ git clone git@github.com:TAKEDA-Takashi/actions-test.git $ cd actions-test $ echo "# actions-test" >> README.md $ git add README.md $ git commit -m "first commit" $ git branch -M main $ git push -u origin main
続いてブランチを切ってactions用のファイルを追加します。
$ git switch -c feature/github-actions $ mkdir -p .github/workflows $ cat << EOS > .github/workflows/sample-workflow.yml name: sample-workflow on: workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run a one-line script run: echo Hello, world! EOS $ git add . $ git commit -m "add sample-workflow.yml" $ git push origin feature/github-actions
これで準備ができました。GitHubのActionsページを見てみます。
Get startedGet startedが表示され、先ほど追加されたactionsはありません。
続いてデフォルトブランチを切り替えてみます。Settings画面から切り替えられます。
切り替えられたら、再度Actionsページを見てみます。今度はありました!
せっかくなので実行してみましょう。
正常に実行できました。
まとめ
デフォルトブランチでしか実行できない仕様を把握しておらずハマりました。これからGitHub Actionsを利用しようとしている方はぜひ覚えておきましょう。