10 exercices YAML avancés : matrix, environments, artifacts, workflows réutilisables.
Configurez une stratégie matrix pour tester en parallèle sur Node.js
18, 20 et 22. Utilisez fail-fast: false.
Créez une matrix multi-dimensionnelle : 3 OS (ubuntu, windows, macos)
× 2 versions Node (18, 20). Utilisez ${{ matrix.os }} pour le runner.
Définissez 3 jobs : lint, test et build.
Le job build attend que les deux réussissent.
Configurez un job deploy qui cible l'environment production
et expose l'URL de déploiement via url:.
Écrivez un step de déploiement qui passe le secret DEPLOY_TOKEN
comme variable d'environnement dans un script.
Configurez actions/cache@v4 avec une clé basée sur le hash
du package-lock.json et un restore-keys de fallback.
Job build : upload le dossier dist/ comme artifact.
Job deploy : télécharge cet artifact et exécute le déploiement.
Écrivez un workflow réutilisable qui accepte un input node-version
via on: workflow_call: inputs:.
Ajoutez une condition if: sur le step de déploiement pour
qu'il ne s'exécute que sur la branche main lors d'un push.
Pipeline complet : job test avec matrix Node, job build
qui attend test, job deploy sur GitHub Pages avec environment.