mcpField
E
eas-workflows

eas-workflows

github.com/expoクラウド・DevOps3.5k22.6k 回インストール今日更新
リポジトリ

eas-workflows について

eas-workflows は、EAS の CI/CD ワークフロー YAML の作成と編集を支援する Expo のスキルです。最新のスキーマやドキュメントを参照し、EAS CLI での検証までの確認事項を案内します。

主な機能

  1. 01最新のワークフロースキーマと文書の取得
  2. 02ワークフロー YAML 構造のガイド
  3. 03ジョブ参照と式の確認
  4. 04EAS CLI によるワークフロー検証手順

活用シーン

  1. 01EAS CI/CD ワークフローファイルの作成
  2. 02トリガーとジョブ定義の編集
  3. 03検証前のワークフロー項目の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/expo/skills --skill eas-workflows

インストール後、Claude Code で/eas-workflowsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
scripts/
fetch.js
package.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>
  1. JSON Schema — https://api.expo.dev/v2/workflows/schema

    • このスキーマの取得は必須です
    • ワークフロー YAML の構造に関する信頼できる情報源です。最終的な検証では、引き続き EAS CLI が正式な検証ツールとなります
    • すべてのジョブタイプと、必須/任意のパラメーター
    • トリガーの種類と設定
    • ランナーの種類、VM イメージ、すべての列挙値
  2. 構文ドキュメント — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx

    • ワークフロー YAML 構文の概要
    • 例と英語での説明
    • 式の構文とコンテキスト
  3. パッケージ済みジョブ — 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.* — ワークフローのメタデータ

ワークフローの生成

ワークフローを生成または編集する際は、次の手順に従ってください。

  1. スキーマを取得し、最新のジョブタイプ、パラメーター、許可されている値を確認します
  2. 各ジョブタイプに必須フィールドが含まれていることを検証します
  3. needs と after のジョブ参照先がワークフロー内に存在することを確認します
  4. 式が有効なコンテキストと出力を参照していることを確認します
  5. 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 として指定してください。

コメント