eas-workflows

Par expo · skills

Service EAS (payant). Aide à comprendre et à rédiger des fichiers YAML de workflow EAS pour les projets Expo. Utilisez cette skill lorsque l'utilisateur pose des questions sur le CI/CD ou les workflows dans un contexte Expo ou EAS, mentionne `.eas/workflows/`, ou souhaite de l'aide avec les pipelines de build EAS ou l'automatisation du déploiement.

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

Skill EAS Workflows

Service EAS - des frais s'appliquent. Les EAS Workflows s'exécutent sur Expo Application Services, un produit payant avec des limites de tier gratuit. Chaque job de workflow consomme les minutes de build/compute de votre plan, et les jobs qui font du build ou soumettent aussi besoin de comptes payants Apple Developer et Google Play. Consultez https://expo.dev/pricing avant de déclencher des exécutions.

Aide les développeurs à écrire et éditer des fichiers YAML de workflow EAS CI/CD.

Documentation de référence

Récupérez ces ressources avant de générer ou valider des fichiers de workflow. Commencez par résoudre le répertoire du skill, puis utilisez le script fetch dans son répertoire scripts/. Il est implémenté en Node.js et cache les réponses avec des ETags pour plus d'efficacité :

# Récupérer les ressources
node <skill-dir>/scripts/fetch.js <url>
  1. JSON Schemahttps://api.expo.dev/v2/workflows/schema

    • Il est NÉCESSAIRE de récupérer ce schema
    • Source de vérité pour la validation
    • Tous les types de jobs et leurs paramètres requis/optionnels
    • Types de triggers et configurations
    • Types de runners, images VM, et tous les enums
  2. Documentation de syntaxehttps://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx

    • Présentation de la syntaxe YAML du workflow
    • Exemples et explications en anglais
    • Syntaxe des expressions et contextes
  3. Jobs pré-packagéshttps://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx

    • Documentation des types de jobs pré-packagés supportés
    • Paramètres et sorties spécifiques aux jobs

Ne vous fiez pas à des valeurs mémorisées ; ces ressources évoluent à mesure que de nouvelles fonctionnalités sont ajoutées.

Emplacement du fichier workflow

Les workflows se trouvent dans .eas/workflows/*.yml (ou .yaml).

Structure de haut niveau

Un fichier workflow possède ces clés de haut niveau :

  • name — Nom d'affichage du workflow
  • on — Triggers qui démarrent le workflow (au moins un requis)
  • jobs — Définitions des jobs (requis)
  • defaults — Valeurs par défaut partagées pour tous les jobs
  • concurrency — Contrôle des exécutions parallèles de workflow

Consultez le schema pour la spécification complète de chaque section.

Expressions

Utilisez la syntaxe ${{ }} pour les valeurs dynamiques. Le schema définit les contextes disponibles :

  • github.* — Informations sur le repository GitHub et l'événement
  • inputs.* — Valeurs des inputs workflow_dispatch
  • needs.* — Sorties et statut des jobs dépendants
  • jobs.* — Sorties des jobs (syntaxe alternative)
  • steps.* — Sorties des étapes dans les jobs personnalisés
  • workflow.* — Métadonnées du workflow

Générer des workflows

Lors de la génération ou édition de workflows :

  1. Récupérez le schema pour obtenir les types de jobs actuels, les paramètres et les valeurs autorisées
  2. Validez que les champs requis sont présents pour chaque type de job
  3. Vérifiez que les références de jobs dans needs et after existent dans le workflow
  4. Vérifiez que les expressions référencent des contextes valides et des sorties
  5. Assurez-vous que les conditions if respectent les contraintes de longueur du schema

Validation

Après avoir généré ou édité un fichier workflow, validez-le contre le schema :

# Installer les dépendances si manquantes
[ -d "<skill-dir>/scripts/node_modules" ] || npm install --prefix <skill-dir>/scripts

node <skill-dir>/scripts/validate.js <workflow.yml> [workflow2.yml ...]

Le validateur récupère le dernier schema et vérifie la structure YAML. Corrigez toute erreur signalée avant de considérer le workflow comme terminé.

Répondre aux questions

Quand les utilisateurs demandent les options disponibles (types de jobs, triggers, types de runners, etc.), récupérez le schema et dérivez la réponse à partir de celui-ci plutôt que de vous fier à des informations potentiellement obsolètes.

Skills similaires