Dependabot — это мощный инструмент, который устраняет много дополнительной работы по поддержке большой кодовой базы. Он рекламируется как инструмент «Автоматические обновления зависимостей». Хотя это правда, любой, кто использовал dependabot, быстро обнаружит, что существует множество обновлений зависимостей, которые могут очень часто и в большинстве случаев раздражать и просто создавать дополнительную утомительную работу для разработчиков.

Я считаю, что все, что максимизирует количество времени, которое разработчики должны планировать и писать код, стоит инвестировать. Это, кажется, намерение Dependabot, но без умного способа автоматического слияния PR он в конечном итоге съедает много времени и не работает. полоса пиара.

Раньше в версии 2 dependabot это не было проблемой, поскольку был способ включить автоматическое слияние PR (на уровне организации), но с тех пор, как они были приобретены Github, они убрали эту функциональность из соображений безопасности.

В обозримом будущем автоматическое слияние не будет поддерживаться в GitHub-native Dependabot. Мы знаем, что некоторые из вас создали отличные рабочие процессы, основанные на автоматическом слиянии, но сейчас мы обеспокоены тем, что автоматическое слияние используется для быстрого распространения вредоносного пакета по экосистеме. Мы рекомендуем всегда проверять ваши зависимости перед их слиянием.

Депендабот Контрибьютор

Что нам делать дальше?

Хотя Dependabot не поддерживает эту функциональность из коробки, увы, мы должны найти способ. Я сэкономлю вам несколько часов на git add, commit, push в репозиторий и ожидание подводных камней в Github Actions, чтобы рассказать вам, как вы все испортили.

Во-первых, нам нужен базовый файл yml, который Dependabot будет использовать в качестве конфигурации:

Далее нам понадобится наш существующий рабочий процесс Github, который будет автоматически объединяться. Я бы предложил добавить это в тот же рабочий процесс, что и ваши тесты.

Обратите внимание на переменную среды ACTIONS_TOKEN, которую необходимо создать на вкладке настроек Github Secrets.

Вот и все!

Вы готовы отправить код и позволить Github надежно объединить ваш PR без дополнительной работы. После того, как эти тесты пройдены, конечно 🎉

Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы, я буду рад помочь вам заставить это работать для вашего варианта использования.

Привет, Джей