VKCOM / VKUI

VKUI – это набор React-компонентов, с помощью которых можно создавать интерфейсы, внешне неотличимые от наших iOS и Android приложений.
https://vkcom.github.io/VKUI/
MIT License
1.04k stars 186 forks source link

[Tech]: Автоматизировать выставление milestone с минорной версией при обновлении транзитивных зависимостей Dependabot #7385

Closed inomdzhon closed 2 months ago

inomdzhon commented 2 months ago

[!NOTE]

Так как транизитивная зависимость влияет на конечный артефакт, необходимо упоминать в релиз ноут об их обновлениях. Не упустить упоминание помогает указание milestone с будущей минорной версией библиотеки.

Как сейчас?

При обновление Dependabot зависимостей пакета packages/vkui

https://github.com/VKCOM/VKUI/blob/3896b85c980d312ff379b69abff34d925ac0eaeb/packages/vkui/package.json#L68-L74

Приходится выставлять версию milestone вручную, это увеличивает человеческий фактор забыть выставить milestone, да и в целом накладывает на разработчика дополнительную ответственность.

Как ожидается?

В PR от Dependabot с обновлениями зависимостей из поля "dependencies" пакета packages/vkui/package.json, а именно:

[!NOTE]

По @vkontakte/vkui-floating-ui отдельная задача по автоматизации (см. #7386) – это пакет packages/vkui-floating-ui, который сейчас публикуется и обновляется в packages/vkui вручную после обновления @floating-ui/react-dom.

Необходимо добавлять milestone с ближайшей минорной версией пакета. Например, сейчас v6.5.0, будущая минорная версия v6.6.0.

[!NOTE]

Если ли milestone с будущей минорной версией отсутствует, то его необходимо создать с помощью GitHub API.

[!NOTE]

Если для задачи потребуется JS, то стоит рассмотреть вынос этого экшена в репозиторий https://github.com/VKCOM/gh-actions, который предоставляет переиспользуемые воркфлоу для организации VKCOM.

Ссылки

mendrew commented 2 months ago

Ещё бы сразу писать в релиз ноуты когда такой PR от Dependabot вливается. 🤔

inomdzhon commented 2 months ago

Ещё бы сразу писать в релиз ноуты когда такой PR от Dependabot вливается. 🤔

как идея, кстати)

о! можно ведь в целом PR связанные с milestone напрямую или из issue автоматически добавлять в release note, до этого идея была перед публикацией запустить процесс, который соберёт release note, но возможно поэтапное его заполенение может быть даже лучше

[!NOTE] но это как отдельная задача в любом случае