Pour plus d’informations sur GitHub Codespaces les prébuildeurs, consultez Prégénération de vos codespaces.
Vérifier si un codespace a été créé à partir d'une précompilation ?
Lorsque vous créez un codespace, vous pouvez choisir le type de machine virtuelle que vous souhaitez utiliser. Si une version précompilée est disponible pour ce type de machine virtuelle, « Précompilation prête » est affiché à côté.

Si votre GitHub Codespaces préférence d’éditeur est définie sur «Visual Studio Code pour le web », la page « Configuration de votre espace de code » affiche le message « Espace de code prédéfini trouvé » si une prébuild est utilisée.

De même, si votre préférence d’éditeur est «VS Code », le terminal intégré contiendra le message « Vous êtes sur un espace de code prédéfini défini par la configuration de prébuild pour votre référentiel » lorsque vous créez un espace de code. Pour plus d’informations, consultez « Définition de votre éditeur par défaut pour GitHub Espaces de code ».
Une fois que vous avez créé un espace de code, vous pouvez vérifier s’il a été créé à partir d’une prébuild en exécutant la commande suivante GitHub CLI dans le terminal :
gh api /user/codespaces/$CODESPACE_NAME --jq .prebuild
gh api /user/codespaces/$CODESPACE_NAME --jq .prebuild
Cela renvoie true si le codespace a été créé à l’aide d’une préconfiguration.
Sinon, si GitHub CLI (gh) n’est pas installé, vous pouvez utiliser la commande suivante, qui retourne createFromPrebuild si l’espace de code a été créé à partir d’un prébuild :
cat /workspaces/.codespaces/shared/environment-variables.json | jq '.ACTION_NAME'
cat /workspaces/.codespaces/shared/environment-variables.json | jq '.ACTION_NAME'
Vérification de l’utilisation des prébuilds
Vous pouvez vérifier si un référentiel utilise des prébuilds dans la page «Codespaces » des paramètres du référentiel.
Vous pouvez vérifier la quantité d’espace de stockage consommée par les prébuilds dans votre cycle de facturation actuelle en consultant les données de facturation de votre compte personnel ou d’organisation. Vous pouvez également générer un rapport d’utilisation pour voir quels dépôts utilisent des prébuilds. Pour plus d’informations, consultez « Consulter votre utilisation des produits et licences facturés à l’usage ».
L’étiquette « Prébuild prête » est parfois manquante
Vous remarquerez peut-être que, parfois, lorsque vous créez un espace de code à partir d’une branche prébuild activée, l’étiquette « Prebuild Ready » n’est pas affichée dans la boîte de dialogue pour choisir un type d’ordinateur. Cela signifie que les prébuilds ne sont pas encore disponibles.
Par défaut, chaque fois que vous effectuez un push vers une branche avec précompilation, celle-ci est mise à jour. Si l’envoi (push) implique une modification de la configuration du conteneur de développement, alors que la mise à jour est en cours, l’étiquette « Prebuild Ready » est supprimée de la liste des types d’ordinateurs. Pendant ce temps, vous pouvez toujours créer des codespaces sans prébuild. Si nécessaire, vous pouvez réduire le nombre d'occasions où les prébuilds ne sont pas disponibles pour un référentiel en configurant la prébuild pour qu’elle soit uniquement mise à jour lorsque vous apportez une modification aux fichiers de configuration de votre conteneur de développement, ou uniquement selon une planification personnalisée. Pour plus d’informations, consultez « Configuration des prébuilds ».
Si votre branche n’est pas spécifiquement activée pour les prébuilds, elle peut tout de même bénéficier de prébuilds si elle a été créée à partir d’une branche avec prébuilds activés. Toutefois, si la configuration du conteneur de développement est modifiée sur votre branche et que sa configuration est différente sur la branche de base, les prébuilds ne sont plus disponibles sur votre branche.
Voici des éléments à vérifier si l’étiquette « Prebuild Ready » n’est pas affichée pour une branche particulière :
- Vérifiez qu’une configuration de prébuild existe pour cette branche. Si vous n’êtes pas administrateur de référentiel, vous devez contacter un administrateur de référentiel pour le confirmer.
- Vérifiez que la configuration de prébuild inclut votre région.
- Vérifiez si une modification de la configuration du conteneur de développement a récemment été envoyée (push) à la branche de prébuild. Si tel est le cas, vous devrez probablement attendre que l'exécution du workflow de prébuild pour cet envoi (push) soit terminée avant que les prébuilds ne redeviennent disponibles.
- Si aucune modification de configuration n’a été apportée récemment, accédez à l’onglet Actions de votre référentiel, cliquez sur Codespaces Prébuilds dans la liste des flux de travail et vérifiez que les exécutions de flux de travail de prébuild pour la branche réussissent. Si les dernières exécutions d’un workflow ont échoué et qu’une ou plusieurs de ces exécutions ayant échoué contiennent des modifications apportées à la configuration du conteneur de développement, aucune prébuild ne sera disponible pour la branche associée.
Certaines ressources ne peuvent pas être accessibles dans les codespaces créés avec une prébuild.
Si le fichier de configuration devcontainer.json d’une configuration de prébuild spécifie que des autorisations d’accès à d’autres dépôts sont nécessaires, l’administrateur du dépôt est invité à accorder ces autorisations quand il crée ou met à jour la configuration de prébuild. Si l’administrateur n’accorde pas toutes les autorisations demandées, il est possible que des problèmes se produisent dans la prébuild et dans les codespaces créés à partir de cette prébuild. C’est vrai même si l’utilisateur qui crée un codespace basé sur cette prébuild accorde toutes les autorisations lorsqu’il est invité à le faire.
Résolution des problèmes liés aux exécutions de workflow ayant échoué pour les prébuilds
Augmenter la limite de GitHub Actions dépenses
Les précompilations sont créées et mises à jour à l’aide de GitHub Actions. Vos flux de travail prébuild échoueront si vous avez utilisé toutes vos GitHub Actions minutes et que vous avez atteint votre limite de dépense. Si cela se produit, vous pouvez augmenter votre GitHub Actions limite de dépense pour permettre l’exécution des flux de travail. Pour plus d’informations, consultez « Configurer des budgets pour contrôler les dépenses liées aux produits facturés à l’usage ».
Octroi d’autorisations d’accès
Si le fichier de configuration devcontainer.json d’une configuration de prébuild est mis à jour pour spécifier que les autorisations d’accès à d’autres dépôts sont nécessaires et qu’un administrateur de dépôt n’a pas été invité à accorder ces autorisations pour la configuration de la prébuild, le workflow de prébuild peut échouer. Essayez de mettre à jour la configuration de prébuild, sans apporter de modifications. Si, lorsque vous cliquez sur Mettre à jour, la page d’autorisations s’affiche, vérifiez que les autorisations demandées sont appropriées et, le cas échéant, autorisez la demande. Pour plus d’informations, consultez « Gestion des prébuilds » et « Gestion de l’accès à d’autres dépôts dans votre codespace ».
Si les exécutions de workflow pour une configuration de prébuild échouent, vous pouvez temporairement désactiver la configuration de prébuild en attendant que le problème soit résolu. Pour plus d’informations, consultez « Gestion des prébuilds ».
Empêcher l’utilisation de prébuilds obsolètes
Par défaut, si le dernier workflow de pré-construction a échoué, alors une pré-construction précédente pour la même combinaison de dépôt, de branche et de fichier de configuration devcontainer.json sera utilisée pour créer de nouveaux codespaces. Ce comportement est appelé « optimisation de la précompilation ».
Nous vous recommandons de laisser l’optimisation de la prébuild activée pour garantir la création rapide de codespaces si aucune prébuild à jour n’est disponible. Toutefois, en tant qu’administrateur de dépôt, vous pouvez désactiver l’optimisation de prébuild si vous rencontrez des problèmes avec des codespaces préconstruits en retard par rapport à l’état actuel de la branche. Si vous désactivez l’optimisation de préconstruction, des codespaces pour la combinaison appropriée de dépôt, de branche et de fichier devcontainer.json sont créés sans préconstruction si le dernier workflow de préconstruction a échoué ou est actuellement en cours d’exécution.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la section « Code et automatisation » de la barre latérale, cliquez sur Codespaces.
-
À droite de la configuration de prébuild affectée, sélectionnez les points de suspension ( ... ), puis cliquez sur Modifier.

-
Faites défiler la page « Modifier la configuration » jusqu’en bas et cliquez sur Afficher les options avancées.

-
Si vous êtes sûr de vouloir désactiver le paramètre par défaut, sélectionnez Désactiver l’optimisation de la prébuild.

-
Pour enregistrer votre modification, cliquez sur Mettre à jour.