eas-workflows について
eas-workflows は、EAS の CI/CD ワークフロー YAML の作成と編集を支援する Expo のスキルです。最新のスキーマやドキュメントを参照し、EAS CLI での検証までの確認事項を案内します。
主な機能
- 01最新のワークフロースキーマと文書の取得
- 02ワークフロー YAML 構造のガイド
- 03ジョブ参照と式の確認
- 04EAS CLI によるワークフロー検証手順
活用シーン
- 01EAS CI/CD ワークフローファイルの作成
- 02トリガーとジョブ定義の編集
- 03検証前のワークフロー項目の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ expo/ skills --skill eas-workflowsインストール後、Claude Code で/eas-workflowsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlscripts/fetch.jspackage.json詳細
EAS Workflows スキル
EAS サービスは有料です。 EAS Workflows は、無料枠の制限がある有料製品である Expo Application Services 上で実行されます。各ワークフロージョブはプランのビルド/コンピューティング時間を消費します。また、ビルドまたは提出を行うジョブには、有料の Apple Developer アカウントと Google Play アカウントも必要です。実行を開始する前に https://expo.dev/pricing を確認してください。
開発者が EAS CI/CD ワークフローの YAML ファイルを作成、編集できるよう支援します。
リファレンスドキュメント
ワークフローファイルを生成または編集する前、あるいは構文について質問に回答する際は、これらのリソースを取得してください。まずこのスキルのディレクトリを特定し、その後、scripts/ ディレクトリにあるフェッチスクリプトを使用してください。このスクリプトは Node.js で実装されており、効率化のため ETag を使用してレスポンスをキャッシュします。
# Fetch resources
node <skill-dir>/scripts/fetch.js <url>
-
JSON Schema — https://api.expo.dev/v2/workflows/schema
- このスキーマの取得は必須です
- ワークフロー YAML の構造に関する信頼できる情報源です。最終的な検証では、引き続き EAS CLI が正式な検証ツールとなります
- すべてのジョブタイプと、必須/任意のパラメーター
- トリガーの種類と設定
- ランナーの種類、VM イメージ、すべての列挙値
-
構文ドキュメント — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx
- ワークフロー YAML 構文の概要
- 例と英語での説明
- 式の構文とコンテキスト
-
パッケージ済みジョブ — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx
- サポートされているパッケージ済みジョブタイプのドキュメント
- ジョブ固有のパラメーターと出力
新機能の追加に伴い、これらのリソースは更新されるため、記憶した値に頼らないでください。
ワークフローファイルの場所
ワークフローは .eas/workflows/*.yml(または .yaml)に配置します。各ファイルのサイズは 16 KiB 以下にしてください。
トップレベルの構造
ワークフローファイルには、次のトップレベルキーがあります。
name— ワークフローの表示名on— ワークフローを開始するトリガー(少なくとも 1 つ必要)jobs— ジョブ定義(必須)defaults— すべてのジョブに適用する共通のデフォルト値concurrency— ワークフロー実行の並列制御
各セクションの完全な仕様については、スキーマを参照してください。
式
動的な値には ${{ }} 構文を使用します。利用可能なコンテキストはスキーマで定義されています。
github.*— GitHub リポジトリとイベントの情報inputs.*—workflow_dispatch入力値needs.*— 依存するジョブからの出力とステータスjobs.*— ジョブの出力(代替構文)steps.*— カスタムジョブ内のステップ出力workflow.*— ワークフローのメタデータ
ワークフローの生成
ワークフローを生成または編集する際は、次の手順に従ってください。
- スキーマを取得し、最新のジョブタイプ、パラメーター、許可されている値を確認します
- 各ジョブタイプに必須フィールドが含まれていることを検証します
needsとafterのジョブ参照先がワークフロー内に存在することを確認します- 式が有効なコンテキストと出力を参照していることを確認します
if条件がスキーマの長さ制限を満たしていることを確認します
検証
ワークフローファイルを生成または編集した後、Expo プロジェクトのルートから EAS CLI で検証してください。
npx -y eas-cli@latest workflow:validate .eas/workflows/<workflow.yml> --non-interactive
変更したワークフローファイルごとに、コマンドを個別に実行してください。このコマンドを実行するには、EAS CLI にログインし、Expo プロジェクトをリンクしておく必要があります。スキーマのみを使用した検証とは異なり、このコマンドはプロジェクトの eas.json にあるビルドプロファイル参照も確認し、EAS サーバー側の検証を実行します。報告されたエラーをすべて修正し、Workflow configuration YAML is valid. と表示されるまでコマンドを再実行してください。このコマンドをローカルの YAML または JSON Schema バリデーターに置き換えないでください。
質問への回答
ユーザーから利用可能なオプション(ジョブタイプ、トリガー、ランナータイプなど)について質問された場合は、スキーマを取得し、古くなっている可能性のある情報に頼らず、スキーマに基づいて回答してください。
フィードバックの送信
このスキルでエラーや誤解を招く情報、古い情報を見つけた場合は、Expo が改善できるよう報告してください。
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-workflows" "<actionable feedback>"
具体的で実行可能な報告内容がある場合にのみ送信してください。関連するコンテキストをできるだけ詳しく含めてください。
エージェントが Expo のタスクに繰り返し失敗する場合や、ユーザーが介入しなければならない場合は、タスクの内容、期待される結果、問題点を簡潔に報告し、--category evals と、関連する Expo パッケージまたはコマンドを --subject として指定してください。