Skip to main content

actrun-debug

actrun の実行失敗を診断する。ログ解析、エラー原因特定、修正提案を行う。

来源信息

仓库
mizchi/actrun
最近来源活动
2026年3月16日 10:09
检测到的 SKILL.md 语言
日语
星标
673
分支
15

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
actrun-debug
description
actrun の実行失敗を診断する。ログ解析、エラー原因特定、修正提案を行う。
# actrun-debug Skill actrun のワークフロー実行が失敗した場合に、原因を特定し修正方法を提案する。 ## このスキルの使い方 ユーザーが以下のいずれかを求めた場合にこのスキルを適用する: - actrun の実行が失敗して原因を知りたい - ワークフローのエラーをデバッグしたい - actrun の出力を解析してほしい ## 診断手順 ### Step 1: 実行結果の取得 ```bash # 最新の実行一覧を確認 actrun run list # 失敗した run の詳細を取得 actrun run view <run-id> # JSON で詳細情報を取得(解析しやすい) actrun run view <run-id> --json ``` ### Step 2: ログの確認 ```bash # 全ログを確認 actrun run logs <run-id> # 失敗したタスクのログを特定して確認 actrun run logs <run-id> --task <job_id>/<step_id> ``` `run view --json` の `steps` 配列から `status: "failed"` のステップを特定し、その `id` を `--task` に渡す。 ### Step 3: 原因分類と対処 以下のパターンに分類して対処する: #### A. ツール未インストール **症状**: `command not found`, `No such file or directory` **対処**: ```bash # 依存ツールチェック actrun doctor # ローカルツールがあるならスキップ設定 # actrun.toml: # local_skip_actions = ["actions/setup-node"] ``` #### B. アクション互換性問題 **症状**: `unsupported action input`, `action not found` **対処**: - ビルトイン対応アクションか確認(checkout, cache, artifact, setup-node) - 未対応アクションは `--skip-action` でスキップ - リモートアクションは `--trust` フラグでフェッチ許可 ```bash actrun ci.yml --skip-action unsupported/action --trust ``` #### C. パス/ワークスペース問題 **症状**: ファイルが見つからない、パスが違う **対処**: - `--workspace-mode` を変更(`local` → `worktree` or `tmp`) - `actions/checkout` をスキップしている場合、ファイルがカレントディレクトリにあるか確認 ```bash # worktree で隔離実行 actrun ci.yml --worktree ``` #### D. シークレット/変数の未設定 **症状**: `${{ secrets.XXX }}` が空、認証エラー **対処**: ```bash # シークレットを環境変数で渡す ACTRUN_SECRET_GITHUB_TOKEN=$(gh auth token) actrun ci.yml # .env ファイルから読み込み actrun ci.yml --env .env.local ``` #### E. 条件式エラー **症状**: `if` 条件の評価エラー、予期しないスキップ **対処**: - `--dry-run` で実行プランを確認 - `ACTRUN_LOCAL=true` による条件分岐を確認 - `${{ env.ACTRUN_LOCAL }}` が設定されているか確認 #### F. Nix 関連 **症状**: `nix develop` エラー、パッケージが見つからない **対処**: ```bash # Nix を無効化して切り分け actrun ci.yml --no-nix # アドホックパッケージを指定 actrun ci.yml --nix-packages "nodejs python312" ``` #### G. Docker/コンテナ関連 **症状**: `docker: command not found`, イメージ pull 失敗 **対処**: ```bash # Docker が動いているか確認 actrun doctor # ランタイム変更 actrun ci.yml --container-runtime podman ``` ### Step 4: リトライ ```bash # 修正後、失敗ジョブのみリトライ actrun ci.yml --retry # 特定ジョブだけ実行 actrun ci.yml --job <failed-job-id> ``` ## JSON 出力の解析ポイント `actrun run view <run-id> --json` の重要フィールド: | フィールド | 説明 | |-----------|------| | `state` | `completed`, `partial_failed`, `failed` | | `ok` | 全体の成否 (boolean) | | `exit_code` | 終了コード | | `steps[].id` | ステップID (`job_id/step_name`) | | `steps[].status` | `success`, `failed`, `skipped` | | `steps[].message` | 出力メッセージ | | `tasks[].stdout_path` | stdout ログファイルパス | | `tasks[].stderr_path` | stderr ログファイルパス | | `issues[]` | 実行中の警告・問題 | ## ログファイルの直接読み取り run store のログファイルを直接読むことも可能: ```bash # デフォルトの run store パス _build/actrun/runs/<run-id>/tasks/<task_id>.stdout.log _build/actrun/runs/<run-id>/tasks/<task_id>.stderr.log ``` ## 参考 - https://github.com/mizchi/actrun
在 GitHub 查看