Skip to content

ci(release): вести версию и тег через release-please - #19

Merged
mokevnin merged 2 commits into
mainfrom
chore/release-please
Aug 18, 2026
Merged

ci(release): вести версию и тег через release-please#19
mokevnin merged 2 commits into
mainfrom
chore/release-please

Conversation

@mokevnin

Copy link
Copy Markdown
Contributor

Composer-поток кампании docs/components-modernization.md: версию и тег ведёт release-please, дальше packagist забирает релиз вебхуком.

Шага публикации в реестр нет намеренно. Проверено, что у пакета на packagist включён auto-update, то есть тега достаточно. Это отличает composer от npm (нужен токен) и от pypi (нужен trusted publisher).

Два коммита:

  • ci(pr-title) — линт заголовка PR. При squash-мерже заголовок становится сообщением коммита, а по нему release-please определяет разряд версии.
  • ci(release) — манифест-режим со строкой "include-component-in-tag": false. Без неё release-please ищет тег вида <пакет>-v1.2.3, своего не находит и пересобирает версию по всей истории репозитория. Мина уже записана по python-пачке.

Стартовая версия 1.1.0 взята от реестра, а не от манифеста: поля version в composer.json нет вовсе, packagist ведёт версию тегами.

Первый релиз мажорный. В main уже влито поднятие планки с php >=7.4 до >=8.5, для потребителей это ломающее изменение, а патч-релиз сломал бы их молча. Версия форсируется футером Release-As: 2.0.0 в теле второго коммита.

При мерже сохранить в теле сообщения строку Release-As: 2.0.0, иначе release-please посчитает версию сам и предложит 1.1.1.

Сухой прогон подтверждает: тег v1.1.0 найден, PR будет на 2.0.0, composer.json не меняется (release-please правит поле version, только если оно уже есть).

При squash-мерже заголовок PR становится сообщением коммита, а по нему
release-please определяет разряд версии. Отдельные коммиты ветки намеренно
не проверяются, чтобы не мешать работе внутри PR.
Публикации в реестр здесь нет: packagist забирает версию вебхуком по тегу,
auto-update у пакета включён. Стартовая версия взята от реестра, а не от
манифеста, где поля version нет вовсе.

Первый релиз мажорный: в main уже влито поднятие планки с php >=7.4 до >=8.5,
для потребителей это ломающее изменение.

Release-As: 2.0.0
@mokevnin
mokevnin merged commit f083686 into main Aug 18, 2026
2 checks passed
@mokevnin
mokevnin deleted the chore/release-please branch August 18, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant