Que fait asc-workflow ?
Définir, valider, exécuter, reprendre et auditer des automatisations multi-étapes locales au dépôt avec la commande asc workflow et .asc/workflow.json, incluant les sorties d'étapes et des workflows sécurisés de release/TestFlight.
Vue d'ensemble
Ce skill vous permet de créer des workflows reproductibles et sûrs pour vos projets iOS/macOS. Que vous automatisiez une build de release, un déploiement TestFlight ou une série de tests, le skill asc-workflow vous offre une structure claire pour chaque étape.
Prérequis
asc: L'outil en ligne de commande pour App Store Connect doit être installé et configuré.- Fichier de configuration : Un fichier
.asc/workflow.jsonà la racine de votre dépôt.
Structure du workflow
Chaque workflow est défini dans .asc/workflow.json avec la structure suivante :
{
"name": "Nom du workflow",
"steps": [
{
"name": "Étape 1",
"command": "asc build ...",
"outputs": {
"buildNumber": "${{ steps.etape1.output.buildNumber }}"
},
"dependsOn": []
},
{
"name": "Étape 2",
"command": "asc release ...",
"dependsOn": ["Étape 1"]
}
]
}
Commandes clés
| Commande | Description |
|---|---|
asc workflow init | Initialise un nouveau fichier .asc/workflow.json avec un workflow par défaut. |
asc workflow run | Exécute le workflow défini dans le fichier de configuration. |
asc workflow resume | Reprend un workflow interrompu depuis la dernière étape réussie. |
asc workflow validate | Valide la syntaxe et la configuration du workflow. |
asc workflow audit | Affiche un historique des exécutions passées du workflow. |
Sorties d'étapes
Les sorties d'étapes sont accessibles via la syntaxe ${{ steps.nom_etape.output.cle }}. Par exemple, pour récupérer le numéro de build produit par une étape :
{
"name": "Release",
"command": "asc release --build ${{ steps.Build.output.buildNumber }}",
"dependsOn": ["Build"]
}
Workflows sécurisés pour release/TestFlight
Les workflows incluent des garde-fous :
- Validation automatique avant exécution.
- Reprise en cas d'échec sans rejouer les étapes réussies.
- Journalisation détaillée pour l'audit.
Exemple complet
Voici un exemple de workflow de release sécurisé :
{
"name": "Release App Store",
"steps": [
{
"name": "Build",
"command": "asc build --scheme MyApp",
"outputs": {
"buildNumber": "${{ steps.Build.output.buildNumber }}"
},
"dependsOn": []
},
{
"name": "Tests",
"command": "asc test --build ${{ steps.Build.output.buildNumber }}",
"dependsOn": ["Build"]
},
{
"name": "TestFlight",
"command": "asc testflight --build ${{ steps.Build.output.buildNumber }}",
"dependsOn": ["Tests"]
},
{
"name": "Release",
"command": "asc release --build ${{ steps.Build.output.buildNumber }}",
"dependsOn": ["TestFlight"]
}
]
}
Dépannage
- Erreur de validation : Utilisez
asc workflow validatepour vérifier la syntaxe du fichier JSON. - Échec d'étape : Utilisez
asc workflow resumepour reprendre depuis l'étape échouée. - Fichier manquant : Vérifiez que
.asc/workflow.jsonexiste à la racine du dépôt.
Ressources
Proposé par rudrankriyam