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.

Qui peut utiliser cette fonctionnalité ?

Dependabot version updates est disponible pour les dépôts suivants :

  • Tous les dépôts sur GitHub Enterprise Server

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

Vous ne pourrez peut-être pas activer ou désactiver les Dependabot updates si un propriétaire d’entreprise a défini une stratégie au niveau de l’entreprise. Pour plus d’informations, consultez « Application de stratégies de sécurité et d’analyse du code 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.

Pour plus d’informations sur les écosystèmes et référentiels pris en charge, consultez « Les écosystèmes et dépôts pris en charge par Dependabot ».

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 de 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 mises à jour de sécurité Dependabot ».

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.

Dependabot signe ses propres commits par défaut, même si la signature des commits n'est pas une exigence pour le référentiel. Pour plus d’informations sur les commits vérifiés, consultez « À propos de la vérification des signatures de commit ».

Avant d’activer les Dependabot updates, vous devez configurer votre instance GitHub Enterprise Server pour utiliser GitHub Actions avec des exécuteurs autohébergés. GitHub Actions est requis pour Dependabot version updates et Dependabot security updates pour exécuter sur GitHub Enterprise Server. 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.

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.

Pour réduire davantage le nombre de demandes de tirage que vous pouvez voir, vous pouvez utiliser l’option de configuration groups pour grouper des ensembles de dépendances (par écosystème de packages). Dependabot déclenche ensuite une demande de tirage unique pour mettre à jour le plus de dépendances possible dans le groupe vers les versions les plus récentes en même temps. Pour plus d’informations, consultez « Personnalisation des mises à jour des dépendances ».

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.

Parfois, en raison d'une mauvaise configuration ou d'une version incompatible, vous pouvez voir qu'une Dependabot a échoué. Après 15 des exécutions infructueuses, sauteront les exécutions programmées suivantes jusqu'à ce que vous déclenchiez manuellement une vérification des mises à jour du graphe des éléments dépendants. Dependabot security updates va néanmoins toujours s’exécuter comme d’habitude.

À propos de la désactivation automatique des Dependabot updates

Lorsque les mainteneurs d’un dépôt cessent d’interagir avec les demandes de tirage Dependabot, Dependabot suspend temporairement ses mises à jour et vous en informe. Ce comportement de désactivation automatique réduit les actions inutiles parce que Dependabot ne crée pas de demandes de tirage pour les mises à jour de version et de sécurité, ni ne rebase les demandes de tirage Dependabot pour les dépôts inactifs.

La désactivation automatique des mises à jour de Dependabot s’applique uniquement aux dépôts où Dependabot a ouvert des demandes de tirage mais celles-ci restent inchangées. Si Dependabot n’a pas ouvert de demandes de tirage, Dependabot ne sera jamais suspendu.

Un dépôt actif est un dépôt pour lequel un utilisateur (et non Dependabot) a effectué l’une des actions ci-dessous au cours des 90 derniers jours :

  • Fusionnez ou fermez une demande de tirage Dependabot sur le dépôt.
  • Apportez une modification au fichier dependabot.yml pour le dépôt.
  • Déclenchez manuellement une mise à jour de sécurité ou une mise à jour de version.
  • Activez les Dependabot security updates pour le dépôt.
  • Utilisez les commandes @dependabot sur les demandes de tirage.

Un dépôt inactif est un dépôt qui a au moins une demande de tirage Dependabot ouverte pendant plus de 90 jours, qui a été activée pendant toute la période et où aucune des actions listées ci-dessus n’a été effectuée par un utilisateur.

Lorsque Dependabot est suspendu, GitHub ajoute une bannière :

  • Dans toutes les demandes de tirage Dependabot ouvertes.
  • Dans l’interface utilisateur de l’onglet Paramètres du dépôt (sous Sécurité et analyse du code, puis Dependabot).
  • Dans la liste des Dependabot alerts (si Dependabot security updates sont affectées).

De plus, vous pourrez voir si des Dependabot sont suspendues au niveau de l’organisation dans la vue d’ensemble de la sécurité. L’état paused sera également visible via l’API. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les référentiels ».

Dès qu’un mainteneur interagit à nouveau avec une demande de tirage Dependabot, Dependabot sort de sa suspension :

  • Les mises à jour de sécurité sont automatiquement reprises pour les Dependabot alerts.
  • Les mises à jour de version sont automatiquement reprises avec la planification spécifiée dans le fichier dependabot.yml.

Dependabot arrête également le rebasage des demandes de tirage pour les mises à jour de version et de sécurité après 30 jours, réduisant ainsi les notifications liées aux demandes de tirage (pull requests) Dependabot inactives.

À 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 ».