github-actions について
GitHub Actions のワークフローやカスタム Action の作成とトラブルシューティングを扱うガイドです。ログや実際の値の確認、ローカルテスト、不要な CI 実行の抑制を重視します。
主な機能
- 01カスタム Action のデプロイ手順
- 02ワークフローのデバッグ手順
- 03act によるローカルテスト
- 04小規模な再現手順の計画
- 05セキュリティと権限の注意点
活用シーン
- 01失敗したワークフロー実行の調査
- 02CI 前のワークフローのローカルテスト
- 03権限設定と fork PR の対応
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ openhands/ extensions --skill github-actionsインストール後、Claude Code で/github-actionsを入力して読み込まれたか確認します。
同梱ファイル.plugin/plugin.jsonREADME.md
詳細
GitHub Actions ガイド
重要なルール
カスタムアクションのデプロイ:
- 新しいカスタムアクションは、使用する前に必ず main ブランチにマージしてください
- 初回のマージ後は、フィーチャーブランチからテストしてください
デバッグ手順: 次の場合は、シークレットではないパラメーターを出力するデバッグ手順を追加してください。
- 新しいアクションを作成するとき、または
- 特に複雑な問題のトラブルシューティングを行うとき
(すべてのワークフローで必要なわけではありません。必要に応じて使用してください)
効果を高める原則
アクションは CI の実行時間を消費します。反復的に試すのではなく、計画的に進めてください。
- ポーリングではなく監視する -
gh run watch/gh pr checks --watchを使って実行状況をリアルタイムで追跡します - 推測ではなくログを読む - コードを変更する前に、失敗したジョブのログを取得します
- 実際の値を出力する - デバッグ手順で、想定ではなく実際の
inputs/githubコンテキストを確認します - まずローカルでテストする -
actを使うと、ワークフローをローカルマシンで実行でき、CI の実行時間を節約できます - 最小限の再現を計画する - 規模を拡大する前に、ジョブを 1 つにし、マトリックスを最小限に抑え、トリガーを絞り込みます
デバッグワークフロー全体、gh コマンド、YAML のデバッグ手順の例については、README.md を参照してください。
主な注意点
- フォークからの PR ではシークレットを利用できません -
pull_requestではフォークからの PR にシークレットが渡されません。pull_request_targetでは利用できますが、その中でフォークからの PR のコードをチェックアウトしたり実行したりしてはいけません(書き込み権限を使った RCE の危険があります)。 - アクションのバージョンを固定する -
@mainではなく、@v4または SHA を使用します(破壊的変更を防ぐため)。 - 権限を明示する - GITHUB_TOKEN の操作には
permissions:ブロックを設定します。 - ジョブ間のデータにはアーティファクトを使用する -
upload-artifact/download-artifactを使わない限り、ファイルはジョブ間で保持されません。
コメント
Markdown 対応