Skip to main content

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.

Quem pode usar esse recurso?

As Dependabot version updates são gratuitas para uso em repositórios (de propriedade do usuário e da organização) no GitHub Enterprise Server, desde que os administradores corporativos habilitem o recurso para sua empresa.

Observação: o administrador do site precisa configurar as Dependabot updates do sua instância do GitHub Enterprise Server para que você possa usar esse recurso. Para obter mais informações, confira "Habilitando o Dependabot para sua empresa".

Talvez você não consiga habilitar ou desabilitar Dependabot updates se o proprietário de uma empresa tiver definido uma política no nível da empresa. Para obter mais informações, confira "Como impor políticas para segurança e análise de código na empresa".

Sobre as Dependabot version updates

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.

Para obter mais informações sobre os repositórios e ecossistemas com suporte, consulte "Ecossistemas e repositórios compatíveis com o Dependabot".

Habilite as Dependabot version updates fazendo o check-in de um arquivo de configuração dependabot.yml em 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 se há pacotes e aplicativos desatualizados. O Dependabot determina se há uma nova versão de uma dependência examinando o semver (controle de versão semântica) da dependência para decidir se ela deve ser atualizada para essa versão. Para certos gerentes de pacote, Dependabot version updates 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. Dependabot version updates pode ser configurado para verificar as dependências de vendor para novas versões e atualizá-las, se necessário.

Quando o Dependabot identifica uma dependência desatualizada, ele gera uma solicitação de pull 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, confira "Configurando a versão das atualizações do Dependabot".

Se você habilitar as atualizações de segurança, o Dependabot também vai gerar solicitações de pull para atualizar as dependências vulneráveis. Para obter mais informações, confira "Sobre as atualizações de segurança do Dependabot".

Quando o Dependabot gera solicitações de pull, essas solicitações de pull podem ser referentes a atualizações de segurança ou de versão:

  • As Dependabot security updates são solicitações de pull automatizadas que ajudam você a atualizar as dependências com vulnerabilidades conhecidas.
  • As Dependabot version updates são solicitações de pull automatizadas que mantêm suas dependências atualizadas, mesmo quando elas não têm nenhuma vulnerabilidade. 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.

O Dependabot assina seus próprios commits por padrão, mesmo que a assinatura de commit não seja um requisito para o repositório. Para obter mais informações sobre os commits verificados, confira "Sobre a verificação de assinatura de commit".

Antes de habilitar o Dependabot updates, configure a sua instância do GitHub Enterprise Server para usar o GitHub Actions com executores auto-hospedados. GitHub Actions são necessários para que Dependabot version updates e Dependabot security updates sejam executadas no GitHub Enterprise Server. Para obter mais informações, confira "Habilitando o Dependabot para sua empresa".

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 as solicitações de pull gerenciáveis e fáceis de serem revisadas, o Dependabot gera, no máximo, cinco solicitações de pull para começar a trazer as dependências para a última versão. 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 solicitações de pull em aberto definindo a opção de configuração open-pull-requests-limit.

Para reduzir ainda mais o número de solicitações de pull que você está vendo, você pode usar a opção de configuração groups para agrupar conjuntos de dependências (por ecossistema de pacote). Dependabot em seguida, gera uma única solicitação de pull para atualizar o máximo de dependências possível no grupo para as versões mais recentes ao mesmo tempo. Para obter mais informações, confira "Personalizando atualizações de dependências".

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

Ocasionalmente, devido a uma configuração incorreta ou uma versão incompatível, você pode ver que a execução do Dependabot falhou. Após30 execuções com falha, o Dependabot version updates ignorará as execuções subsequentes agendadas até que você acione manualmente um marcador para atualizações do gráfico de dependência , ou atualize o arquivo de manifesto. Dependabot security updates ainda será executado como de costume.

Sobre a desativação automática de Dependabot updates

Quando os mantenedores de um repositório param de interagir com solicitações de pull do Dependabot, o Dependabot pausa temporariamente as atualizações e deixa você a par. Esse comportamento de recusa automática reduz os excessos porque o Dependabot não cria solicitações de pull para atualizações de versão e de segurança e não troca a base das solicitações de pull de repositórios inativos do Dependabot.

A desativação automática das atualizações do Dependabot se aplica somente a repositórios em que Dependabot abriu solicitações de pull, mas elas permanecem intocadas. Se o Dependabot não tiver aberto nenhuma solicitação de pull, o Dependabot nunca será pausado.

Um repositório ativo é um repositório para o qual um usuário (não o Dependabot) executou nenhuma das ações abaixo nos últimos 90 dias:

  • Mescle ou feche uma solicitação de pull do Dependabot no repositório.
  • Faça uma alteração no arquivo dependabot.yml para o repositório.
  • Dispare manualmente uma atualização de segurança ou uma atualização de versão.
  • Habilite Dependabot security updates para o repositório.
  • Use os comandos @dependabot em solicitações de pull.

Um repositório inativo é um repositório que tem pelo menos uma solicitação de pull do Dependabot aberta por mais de 90 dias, que foi habilitado para o período completo e em que nenhuma das ações listadas acima foi executada por um usuário.

Quando Dependabot está em pausa, GitHub adiciona um aviso na barra de notificação:

  • Em todos os pull requests de Dependabot abertos.
  • Na interface do usuário da guia Configurações do repositório (em Segurança e análise de código, em Dependabot).
  • Na lista de Dependabot alerts (se Dependabot security updates forem afetados).

Além disso, você poderá ver se Dependabot está em pausa no nível da organização na visão geral de segurança. O status paused também ficará visível por meio da API. Para obter mais informações, confira "Pontos de extremidade da API REST para repositórios".

Assim que o mantenedor interagir com uma solicitação de pull do Dependabot outra vez, Dependabot será despausado:

  • As atualizações de segurança são retomadas automaticamente para Dependabot alerts.
  • As atualizações de versão são retomadas automaticamente com o agendamento especificado no arquivo dependabot.yml.

O Dependabot também para de trocar a base das solicitações de pull de atualizações de versão e de segurança após 30 dias, reduzindo as notificações de solicitações de pull inativas do Dependabot.

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, confira "Gerenciamento de notificações da sua caixa de entrada".