Sobre as atualizações da versão do Dependabot

Você pode usar o Dependabot para manter os pacotes que usa atualizados para as versões mais recentes.

Sobre o Atualizações de versão do Dependabot

O Dependabot facilita a manutenção de suas dependências. Você pode usá-lo para garantir que seu repositório se mantenha atualizado automaticamente com as versões mais recentes dos pacotes e aplicações do qual ele depende.

Você habilita o Atualizações de versão do Dependabot verificando um arquivo de configuração no seu repositório. O arquivo de configuração especifica a localização do manifesto ou de outros arquivos de definição de pacote, armazenados no seu repositório. O Dependabot usa essas informações para verificar pacotes e aplicativos desatualizados. Dependabot determina se há uma nova versão de uma dependência observando a versão semântica (semver) da dependência para decidir se deve atualizar para essa versão. Para certos gerentes de pacote, Atualizações de versão do Dependabot também é compatível com armazenamento. Dependências de vendor (ou armazenadas) são dependências registradas em um diretório específico em um repositório, em vez de referenciadas em um manifesto. Dependências de vendor estão disponíveis no tempo de criação, ainda que os servidores de pacote estejam indisponíveis. Atualizações de versão do Dependabot pode ser configurado para verificar as dependências de vendor para novas versões e atualizá-las, se necessário.

Quando Dependabot identifica uma dependência desatualizada, ele cria uma pull request para atualizar o manifesto para a última versão da dependência. Para dependências de vendor, Dependabot levanta um pull request para substituir diretamente a dependência desatualizada pela nova versão. Você verifica se os seus testes passam, revisa o changelog e lança observações incluídas no resumo do pull request e, em seguida, faz a mesclagem. Para obter mais informações, consulte "Habilitando e desabilitando as atualizações da versão de Dependabot".

Se você habilitar Atualizações de segurança, Dependabot também eleva pull requests para atualizar dependências vulneráveis. Para obter mais informações, consulte "Sobre Atualizações de segurança do Dependabot."

Quando Dependabot abre pull requests, estes podem ser para atualizações de segurança ou versão:

  • Atualizações de segurança do Dependabot are automated pull requests that help you update dependencies with known vulnerabilities.
  • Atualizações de versão do Dependabot are automated pull requests that keep your dependencies updated, even when they don’t have any vulnerabilities. Para verificar o status das atualizações da versão, acesse a aba Insights do seu repositório e, em seguida, gráfico de dependência e Dependabot.

Dependabot e todos os recursos relacionados estão cobertos pelos Termos de Serviço de GitHub.

Frequência de Dependabot pull requests

Você especifica com que frequência verifica cada ecossistema para novas versões no arquivo de configuração: diariamente, semanalmente ou mensalmente.

Quando você habilitar atualizações de versão pela primeira vez, você pode ter muitas dependências que estão desatualizadas e algumas podem ser muitas versões por trás da versão mais recente. O Dependabot verifica as dependências desatualizadas assim que estiver habilitado. Você pode ver novas pull requests para atualizações de versão dentro de alguns minutos após adicionar o arquivo de configuração, dependendo do número de arquivos de manifesto para os quais você configura as atualizações. Dependabot também será executada uma atualização sobre as alterações subsequentes no arquivo de configuração.

Dependabot também pode criar pull requests quando você alterar um arquivo de manifesto depois que uma atualização falhar. Isto ocorre porque alterações em um manifesto, como remover a dependência que causou falha na atualização, pode fazer com que a atualização recém-acionada sejam bem-sucedida.

Para manter os pull requests gerenciáveis e fáceis de revisar, o Dependabot gera um máximo de cinco pull requests para começar a criar dependências até a versão mais recente. Se você fizer o merge de algumas desses primeiros pull requests antes da próxima atualização programada, Os pull requests restantes serão abertos na próxima atualização, até o máximo. Você pode alterar o número máximo de pull requests definindo a opção de configuração open-pull-requests-limit.

Se tiver habilitado atualizações de segurança, às vezes você verá atualizações de segurança extras de pull requests. Elas são acionadas por um alerta de Dependabot para uma dependência de seu branch padrão. Dependabot gera automaticamente um pull request para atualizar a dependência vulnerável.

Repositórios e ecossistemas suportados

É possível configurar atualizações de versão para repositórios que contenham um manifesto de dependência ou arquivo de bloqueio para um dos gerentes de pacotes suportados. Para alguns gerenciadores de pacotes, você também pode configurar o armazenamento para dependências. Para obter mais informações, consulte "Opções de configuração para atualizações de dependências".

Ao executar atualizações de segurança ou versão, alguns ecossistemas devem ser capazes de resolver todas as dependências de sua fonte para verificar se as atualizações foram bem-sucedidas. Se o seu manifesto ou arquivos de bloqueio contiverem dependências privadas, Dependabot deverá ser capaz de acessar o local em que essas dependências estão hospedadas. Os proprietários da organização podem conceder a Dependabot acesso a repositórios privados que contêm dependências para um projeto dentro da mesma organização. Para obter mais informações, consulte "Gerenciar configurações de segurança e análise para sua organização". É possível configurar o acesso a registros privados no arquivo de configuração de dependabot.yml de um repositório. Para obter mais informações, consulte "Opções de configuração para atualizações de dependências".

Dependabot não é compatível com as dependências privadas de GitHub para todos os gerenciadores de pacote. Veja os detalhes na tabela abaixo.

A tabela a seguir mostra, para cada gerenciador de pacotes:

  • O valor de YAML a ser usado no arquivo dependabot.yml
  • As versões compatíveis do gerenciador de pacotes
  • Se as dependências em repositórios ou registros de GitHub privados são compatíveis
  • Se as dependências delegadas são compatíveis
Gerenciador de pacotesValor do YAMLVersões compatíveisRepositórios privadosRegistros privadosDelegação
bundlerbundlerv1, v2
Cargocargov1
Composercomposerv1, v2
Dockerdockerv1
Hexmixv1
elm-packageelmv0.19
git submodulegitsubmoduleN/A (sem versão)
GitHub Actionsgithub-actionsN/A (sem versão)
Módulos Gogomodv1
GradlegradleN/A (sem versão)[1]
MavenmavenN/A (sem versão)[2]
npmnpmv6, v7
NuGetnuget<= 4.8[3]
pippipv21.1.2
pipenvpip<= 2021-05-29
pip-compilepip6.1.0
poetrypipv1
Terraformterraform>= 0.13, <= 1.0
yarnnpmv1

[1] Dependabot doesn't run Gradle but supports updates to the following files: build.gradle, build.gradle.kts (for Kotlin projects), and files included via the apply declaration that have dependencies in the filename. Note that apply does not support apply to, recursion, or advanced syntaxes (for example, Kotlin's apply with mapOf, filenames defined by property).

[2] Dependabot não executa o Maven, mas é compatível com atualizações para arquivos pom.xml.

[3] Dependabot não executa o NuGet CLI, mas é compatível com a maioria dos recursos até a versão 4.8.

Para gerentes de pacote como pipenv e poetry, você precisa usar o valor do pip do YAML. Por exemplo, se você usa o poetry para gerenciar suas dependências do Python e quer que Dependabot monitore seu arquivo de manifesto de dependência para novas versões, use pacote-ecosystem: "pip" no seu arquivo dependabot.yml.

Se o seu repositório já usa uma integração para gerenciamento de dependências, você precisará desativar isso antes de habilitar o Dependabot. Para obter mais informações, consulte "Sobre integrações."

Sobre notificações para atualizações de versão para Dependabot

Você pode filtrar suas notificações em GitHub para mostrar as notificações para pull requests criados por Dependabot. Para obter mais informações, consulte "Gerenciando notificações de sua caixa de entrada".

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.