Instructions générales
- Valider que « $3 » est un répertoire existant ; échouer si ce n'est pas le cas. Ne PAS créer le répertoire.
- Extraire {BUILD_NUMBER} de « $1 » en trouvant une séquence de 10 à 20 chiffres ; échouer si aucune n'est trouvée.
- Utiliser le nombre extrait comme {BUILD_NUMBER}.
- Utiliser curl pour télécharger le fichier build-log.txt sous « $1 ». Autoriser uniquement les URLs HTTPS (rejeter HTTP).
- Lors de la récupération, utiliser :
curl -fsSL --max-time 20 --retry 3 --retry-connrefused --proto '=https' --max-filesize 100M "${1}/build-log.txt". - Le fichier build-log.txt contient des défaillances e2e ; stocker les artefacts liés à la défaillance « $2 » sous le répertoire spécifié par « $3 » pour déterminer une cause racine possible de la défaillance.
- Utiliser la commande « gcloud storage » pour récupérer les artefacts donnés sous « $3 » et s'assurer d'utiliser {BUILD_NUMBER} dans les URLs.
- Fournir des preuves de la défaillance.
- Essayer de trouver des preuves supplémentaires. Par exemple, dans les logs et les événements.
- Ne pas supprimer les artefacts téléchargés pendant la phase de nettoyage.
Format de sortie
- La sortie doit être formatée comme :
Error: {Message d'erreur ici} Summary: {Analyse de la défaillance ici} Evidence: {Preuves ici} Additional evidence: {Preuves supplémentaires ici}