Skip to main content

À propos des mises à jour de version Dependabot

Vous pouvez utiliser Dependabot pour maintenir les packages que vous utilisez à jour aux dernières versions.

Les Dependabot version updates sont gratuites pour les référentiels (appartenant à l’utilisateur et appartenant à l’organisation) sur GitHub Enterprise Server, à condition que les administrateurs d’entreprise activent la fonctionnalité pour votre entreprise.

Remarque : Votre administrateur de site doit configurer les Dependabot updates pour your GitHub Enterprise Server instance afin que vous puissiez utiliser cette fonctionnalité. Pour plus d’informations, consultez « Activation de Dependabot pour votre entreprise ».

À propos des Dependabot version updates

Dependabot s’efforce de maintenir vos dépendances. Vous pouvez l’utiliser pour vous assurer que votre dépôt reçoit automatiquement les dernières versions des packages et des applications dont il dépend.

Vous activez les Dependabot version updates en archivant un fichier de configuration dependabot.yml dans votre référentiel. Le fichier de configuration spécifie l’emplacement du manifeste, ou d’autres fichiers de définition de package, stockés dans votre dépôt. Dependabot utilise ces informations pour rechercher les packages et applications obsolètes. Dependabot détermine s’il existe une nouvelle version d’une dépendance en examinant le versioning sémantique (semver) de celle-ci. Il peut ainsi décider s’il est nécessaire de mettre à jour la dépendance vers cette version. Pour certains gestionnaires de packages, les Dependabot version updates prennent également en charge le placement dans le répertoire vendor. Les dépendances placées dans le répertoire vendor (ou mises en cache) sont des dépendances qui sont archivées dans un répertoire spécifique au sein d’un dépôt plutôt que référencées dans un manifeste. Les dépendances placées dans le répertoire vendor sont disponibles au moment de la génération, même si les serveurs de package ne sont pas disponibles. Les Dependabot version updates peuvent être configurées pour vérifier s’il existe de nouvelles versions pour les dépendances placées dans le répertoire vendor et mettre celles-ci à jour si nécessaire.

Quand Dependabot identifie une dépendance obsolète, il déclenche une demande de tirage (pull request) pour mettre à jour le manifeste vers la dernière version de la dépendance. Pour les dépendances placées dans le répertoire vendor, Dependabot déclenche une demande de tirage pour remplacer la dépendance obsolète par la nouvelle version directement. Vous vérifiez que vos tests réussissent, passez en revue le journal des modifications et les notes de publication incluses dans le résumé de la demande de tirage, puis vous la fusionnez. Pour plus d’informations, consultez « Configuration des mises à jour de version Dependabot ».

Si vous activez les mises à jour de sécurité, Dependabot déclenche également des demandes de tirage pour mettre à jour les dépendances vulnérables. Pour plus d’informations, consultez « À propos des Dependabot security updates ».

Quand Dependabot déclenche des demandes de tirage, celles-ci peuvent concerner des mises à jour de sécurité ou de version :

  • Les Dependabot security updates sont des demandes de tirage automatisées qui vous aident à mettre à jour les dépendances qui ont des vulnérabilités connues.
  • Les Dependabot version updates sont des demandes de tirage automatisées qui tiennent à jour les dépendances, même si elles ne présentent aucune vulnérabilité. Pour vérifier l’état des mises à jour de version, accédez à l’onglet Insights de votre dépôt, puis sélectionnez Dependency Graph et Dependabot.

GitHub Actions n’est indispensable à l’exécution des Dependabot version updates et des Dependabot security updates sur GitHub Enterprise Server. Avant d’activer les Dependabot updates, vous devez configurer your GitHub Enterprise Server instance pour utiliser GitHub Actions avec des exécuteurs autohébergés. Pour plus d’informations, consultez « Activation de Dependabot pour votre entreprise ».

Fréquence des demandes de tirage Dependabot

Vous spécifiez la fréquence à laquelle vérifier chaque écosystème pour déterminer s’il existe de nouvelles versions dans le fichier de configuration : quotidienne, hebdomadaire ou mensuelle.

Lorsque vous activez les mises à jour de version pour la première fois, vous pouvez avoir de nombreuses dépendances obsolètes et certaines peuvent remonter à de nombreuses versions avant la dernière version. Dependabot recherche les dépendances obsolètes dès qu’il est activé. Vous pouvez voir de nouvelles demandes de tirage pour les mises à jour de version dans les minutes qui suivent l’ajout du fichier de configuration, en fonction du nombre de fichiers manifeste pour lesquels vous configurez les mises à jour. Dependabot exécute également une mise à jour sur les modifications suivantes apportées au fichier de configuration.

Dependabot peut également créer des demandes de tirage lorsque vous modifiez un fichier manifeste une fois qu’une mise à jour a échoué. Cela est dû au fait que les modifications apportées à un manifeste, telles que la suppression de la dépendance qui a provoqué l’échec de la mise à jour, peuvent entraîner la réussite de la mise à jour nouvellement déclenchée.

Pour que les demandes de tirage restent faciles à gérer et à réviser, Dependabot déclenche un maximum de cinq demandes de tirage pour commencer à mettre les dépendances à niveau vers la version la plus récente. Si vous fusionnez certaines de ces premières demandes de tirage avant la prochaine mise à jour planifiée, les demandes de tirage restantes seront ouvertes au cours de la prochaine mise à jour, jusqu’à ce maximum. Vous pouvez modifier le nombre maximal de demandes de tirage ouvertes en définissant l’option de configuration open-pull-requests-limit.

Si vous avez activé les mises à jour de sécurité, vous voyez parfois des demandes de tirage supplémentaires pour les mises à jour de sécurité. Celles-ci sont déclenchées par une alerte Dependabot pour une dépendance sur votre branche par défaut. Dependabot déclenche automatiquement une demande de tirage pour mettre à jour la dépendance vulnérable.

Dépôts et écosystèmes pris en charge

Vous pouvez configurer les mises à jour de version pour les dépôts qui contiennent un fichier de verrouillage ou manifeste de dépendance pour l’un des gestionnaires de packages pris en charge. Pour certains gestionnaires de packages, vous pouvez également configurer le placement dans le répertoire vendor pour les dépendances. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».

Lors de l’exécution de mises à jour de sécurité ou de version, certains écosystèmes doivent être capables de résoudre toutes les dépendances de leur source pour vérifier que les mises à jour ont réussi. Si vos fichiers manifeste ou de verrouillage contiennent des dépendances privées, Dependabot doit être capable d’accéder à l’emplacement auquel ces dépendances sont hébergées. Les propriétaires de l’organisation peuvent octroyer à Dependabot un accès aux dépôts privés contenant des dépendances pour un projet au sein de cette même organisation. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre organisation ». Vous pouvez configurer un accès aux registres privés dans le fichier de configuration dependabot.yml d’un dépôt. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».

Dependabot ne prend pas en charge les dépendances GitHub privées pour tous les gestionnaires de package. Pour plus d’informations, consultez le tableau ci-dessous.

Pour chaque gestionnaire de package, le tableau suivant montre ce qui suit :

  • Valeur YAML à utiliser dans le fichier dependabot.yml
  • Versions prises en charge du gestionnaire de package
  • Indique si les dépendances des référentiels et registres privés GitHub sont pris en charge
  • Indique si les dépendances fournisseur sont prises en charge
Gestionnaire de packageValeur YAMLVersions prises en chargeRéférentiels privésRegistres privésVendoring
Bundlerbundlerv1, v2
Cargocargov1
Composercomposerv1, v2
Dockerdockerv1
Hexmixv1
elm-packageelmv0.19
sous-module gitgitsubmoduleN/A (aucune version)
GitHub Actions [2]github-actionsN/A (aucune version)
Modules Gogomodv1
Gradle [3]gradleN/A (aucune version)
Maven [4]mavenN/A (aucune version)
npmnpmv6, v7, v8
NuGetnuget<= 4.8[5]
pippipv21.1.2
pipenvpip<= 2021-05-29
pip-compilepip6.1.0
poetrypipv1
pub [7]pubv2
Terraformterraform>= 0.13, <= 1.3.x
yarnnpmv1

Conseil : pour les gestionnaires de package tels que pipenv et poetry, vous devez utiliser la valeur YAML pip. Par exemple, si vous utilisez poetry pour gérer vos dépendances Python et que vous souhaitez que Dependabot surveille votre fichier manifeste de dépendance pour les nouvelles versions, utilisez package-ecosystem: "pip" dans votre fichier dependabot.yml.

[2] Dependabot prend uniquement en charge les mises à jour pour GitHub Actions avec la syntaxe du dépôt GitHub, comme actions/checkout@v3. Les URL Docker Hub et GitHub Packages Container registry ne sont actuellement pas prises en charge.

[3] Dependabot n’exécute pas Gradle mais prend en charge les mises à jour des fichiers suivants : build.gradle, build.gradle.kts (pour les projets Kotlin) et les fichiers inclus via la déclaration apply avec dependencies dans le nom de fichier. Notez que apply ne prend pas en charge apply to, la récursivité ou les syntaxes avancées (par exemple, les noms de fichier apply avec mapOf Kotlin définis par propriété).

[4] Dependabot n’exécute pas Maven, mais prend en charge les mises à jour des fichiers pom.xml.

[5] Dependabot n’exécute pas l’interface CLI NuGet, mais prend en charge la plupart des fonctionnalités jusqu’à la version 4.8.

[7] La prise en charge de pub est actuellement en version bêta. Toutes les limitations connues sont sujettes à modification. Notez que Dependabot :

  • Ne prend pas en charge la mise à jour des dépendances Git pour pub.

  • N’effectue pas de mise à jour lorsque la version qu’elle tente de mettre à jour est ignorée, même si une version antérieure est disponible.

    Pour plus d’informations sur la configuration de votre fichier dependabot.yml pour pub, consultez « Activation de la prise en charge des écosystèmes au niveau bêta ».

Si votre dépôt utilise déjà une intégration pour la gestion des dépendances, vous devez la désactiver avant d’activer Dependabot.

À propos des notifications pour les mises à jour de version Dependabot

Vous pouvez filtrer vos notifications sur GitHub pour afficher les notifications des demandes de tirage créées par Dependabot. Pour plus d’informations, consultez « Gestion des notifications à partir de votre boîte de réception ».