1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

手動実行で GitHub Actions をテストする

Posted at

TL;DR

  1. workflow_dispatch Webhook イベント発生時に実行されるよう設定する
  2. 新しくブランチを作成し、ワークフローに変更を加えた上で push する
  3. GitHub の Actions タブへ遷移する
  4. ドロップダウンで先ほどのブランチを選択し、Run workflow をクリックする

詳解

workflow_dispatch イベントで実行されるように設定

deploy-hogehoge.yaml
name: Deploy Hogehoge

on:
    workflow_dispatch: ## この記述が必要
    push:
        branches:
            - main
            - prod

新しくブランチを作成して push

新しくテスト用のブランチを作成し、ワークフローの yaml ファイルに変更を加えたあと、コミット -> プッシュする。
コミット前に GitHub Actions 用のリンターを使ってワークフローの文法チェックをしてもいいかもしれない。

> git sw -c feat/test-ghactions

(テストしたいワークフローの内容に書き換えてコミット)

> git push origin HEAD

GitHub の Actions タブへ遷移

GitHub をブラウザで開き Actions タブへ遷移したあと、特定のワークフローを選択する。
actions002.png

そうすると、This workflow has a workflow_dispatch event trigger. という説明とプルダウンが現れる。
actions001.png

先ほどのブランチを選択して Run workflow

そしたら、先ほど新しく push したブランチを選択し、
action003.png

Run workflow をクリックする。
スクリーンショット 2024-05-19 20.42.09.png

これでデフォルトブランチ (main とか) にマージしなくてもワークフロー変更時のテストを行うことができる。
actions004.png

おまけ

上述のようにワークフローが workflow_dispatch Webhook イベント発生時に実行されるよう設定しておけば、REST API を使用してワークフローを実行することもできるみたいなのでやってみる。

アクセストークンの発行が必要。
workflow_id はワークフローのファイル名でも代用可能とのこと。

curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  https://api.github.com/repos/OWNER/REPO/actions/workflows/WORKFLOW_ID/dispatches \
  -d '{"ref":"feat/test-ghactions"}'
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?