GitHub Actions 内で他の repository の workflow を発火する
2024-02-17 Sat.
安全な Token の取り回しのために GitHub Apps を作成する
今回のような処理自体は Personal Access Token を使用することでもできるが、 Personal Access Token を使用することは推奨されない。 その理由も含め、具体的な設定手順は以下の記事を参考にする。
GitHub Apps トークン解体新書:GitHub Actions から PAT を駆逐する技術
この際 App に付与する権限として、 Actions: Read and write
を設定する。
これらの権限設定で GitHub Apps のセットアップ > 4. SecretsにApp IDと秘密鍵を登録する
までの手順を実施する。 以降については、次項で説明する。
また、作成した App の repository スコープ(インストール先)は発火対象のみでよい。
別 repository の workflow を発火する workflow を定義する
まず先に、具体的な workflow 定義は以下の通りになる。
前述の記事ではサードパーティの tibdex/github-app-token
が紹介されているが、現在では GitHub 公式の actions/create-github-app-token が利用できるため、こちらを採用している。
最後の actions/github-script
では 1 つ前の step の outputs から token を取得し github-token
として指定する。
API コール箇所で対象の repository と ref を指定する。workflow_id
には、発火先の workflow ファイル名をそのまま指定すればよい。
参考
How to Trigger Subsequent GitHub Workflow in a Different Repository
Other Works
2024-05-11 Sat.
Powerfully Typed TypeScript
- TSKaigi 2024
2024-05-10 Fri.
pnpm の node_modules を探検して理解しよう
- ドワンゴ教育サービス開発者ブログ
2024-03-17 Sun.
neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
- Zenn
2023-12-20 Wed.
レガシーブラウザ向けのビルドオプションを剪定する
- ドワンゴ教育サービス開発者ブログ
2023-05-26 Fri.
Next.js で dynamic import を使い Client だけで動かす Component を実現する
- Zenn
2023-05-02 Tue.
Node.js でファイル名から拡張子を取り除く/取り出すために path.parse を使う
- Zenn
2023-02-27 Mon.
WSL2 で外部からアクセス可能にするために bridge mode を有効にする
- Zenn
2023-01-26 Thu.
init.vim & dein から init.lua & lazy.nvim へ、シンプル設定で移行した
- Zenn
2023-01-13 Fri.
kindle の本をブクログ形式の csv でエクスポートする@2023初春
- Zenn
2023-01-10 Tue.
自宅サーバの移設に際して docker から nerdctl に移行した
- Zenn
2023-01-10 Tue.
自宅サーバを rootless に移行した際のトラブル対応
- Zenn
2021-11-11 Thu.
並列実行した Promise で throw されても全てハンドルしたいときの方法(allSettled, finally, etc...)
- Zenn