Compétence EAS Workflows
Aide les développeurs à écrire et modifier les fichiers YAML de workflow CI/CD EAS.
Documentation de référence
Récupérez ces ressources avant de générer ou valider des fichiers de workflow. Utilisez le script de récupération (implémenté avec Node.js) dans le répertoire scripts/ de cette compétence ; il met en cache les réponses en utilisant les ETags pour plus d'efficacité :
# Récupérer les ressources
node {baseDir}/scripts/fetch.js <url>
-
JSON Schema — https://api.expo.dev/v2/workflows/schema
- IL EST NÉCESSAIRE de récupérer ce schéma
- Source de vérité pour la validation
- Tous les types de jobs et leurs paramètres requis/optionnels
- Types de déclencheurs et configurations
- Types de runners, images VM et tous les énumérations
-
Documentation de syntaxe — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx
- Aperçu de la syntaxe YAML du workflow
- Exemples et explications en anglais
- Syntaxe des expressions et contextes
-
Jobs pré-packagés — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx
- Documentation pour les types de jobs pré-packagés supportés
- Paramètres spécifiques aux jobs et résultats
Ne vous fiez pas aux valeurs mémorisées ; ces ressources évoluent à mesure que de nouvelles fonctionnalités sont ajoutées.
Emplacement du fichier de workflow
Les workflows se trouvent dans .eas/workflows/*.yml (ou .yaml).
Structure de haut niveau
Un fichier de workflow possède ces clés de haut niveau :
name— Nom d'affichage du workflowon— Déclencheurs qui lancent le workflow (au moins un requis)jobs— Définitions des jobs (requis)defaults— Valeurs par défaut partagées pour tous les jobsconcurrency— Contrôler les exécutions parallèles de workflow
Consultez le schéma pour la spécification complète de chaque section.
Expressions
Utilisez la syntaxe ${{ }} pour les valeurs dynamiques. Le schéma définit les contextes disponibles :
github.*— Informations sur le repository GitHub et l'événementinputs.*— Valeurs des entréesworkflow_dispatchneeds.*— Résultats et statut des jobs dépendantsjobs.*— Résultats des jobs (syntaxe alternative)steps.*— Résultats des étapes au sein des jobs personnalisésworkflow.*— Métadonnées du workflow
Générer des workflows
Lors de la génération ou de la modification de workflows :
- Récupérez le schéma pour obtenir les types de jobs actuels, paramètres et valeurs autorisées
- Validez que les champs requis sont présents pour chaque type de job
- Vérifiez que les références de jobs dans
needsetafterexistent dans le workflow - Vérifiez que les expressions référencent des contextes et résultats valides
- Assurez-vous que les conditions
ifrespectent les contraintes de longueur du schéma
Validation
Après avoir généré ou modifié un fichier de workflow, validez-le par rapport au schéma :
# Installer les dépendances si manquantes
[ -d "{baseDir}/scripts/node_modules" ] || npm install --prefix {baseDir}/scripts
node {baseDir}/scripts/validate.js <workflow.yml> [workflow2.yml ...]
Le validateur récupère le dernier schéma et vérifie la structure YAML. Corrigez les erreurs signalées avant de considérer le workflow comme complet.
Répondre aux questions
Lorsque les utilisateurs posent des questions sur les options disponibles (types de jobs, déclencheurs, types de runners, etc.), récupérez le schéma et dérivez la réponse de celui-ci plutôt que de vous fier à des informations potentiellement obsolètes.