From 686b8911f62666fa932de5042e7347568c318315 Mon Sep 17 00:00:00 2001 From: Kirill Mokevnin Date: Mon, 17 Aug 2026 18:12:05 -0400 Subject: [PATCH 1/2] =?UTF-8?q?ci(pr-title):=20=D0=BB=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=D0=BE=D0=BA=20PR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit При squash-мерже заголовок PR становится сообщением коммита, а по нему release-please определяет разряд версии. Отдельные коммиты ветки намеренно не проверяются, чтобы не мешать работе внутри PR. --- .github/workflows/pr-title.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/pr-title.yml diff --git a/.github/workflows/pr-title.yml b/.github/workflows/pr-title.yml new file mode 100644 index 0000000..22c4d6b --- /dev/null +++ b/.github/workflows/pr-title.yml @@ -0,0 +1,24 @@ +name: PR Title + +# Заголовок PR обязан быть conventional commit: при squash-мерже он становится +# сообщением коммита, а по нему release-please определяет, какой разряд версии +# поднять. Проверка отдельных коммитов ветки намеренно не делается, чтобы не +# мешать работе внутри PR. +on: + pull_request_target: + types: + - opened + - edited + - synchronize + - reopened + +permissions: + pull-requests: read + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v6 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 1268cc01367c29cc1fc64d2c9d505d3cae94edfa Mon Sep 17 00:00:00 2001 From: Kirill Mokevnin Date: Mon, 17 Aug 2026 18:12:06 -0400 Subject: [PATCH 2/2] =?UTF-8?q?ci(release):=20=D0=B2=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B8=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8E=20=D0=B8=20=D1=82?= =?UTF-8?q?=D0=B5=D0=B3=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20release-please?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Публикации в реестр здесь нет: packagist забирает версию вебхуком по тегу, auto-update у пакета включён. Стартовая версия взята от реестра, а не от манифеста, где поля version нет вовсе. Первый релиз мажорный: в main уже влито поднятие планки с php >=7.4 до >=8.5, для потребителей это ломающее изменение. Release-As: 2.0.0 --- .github/workflows/release-please.yml | 19 +++++++++++++++++++ .release-please-manifest.json | 3 +++ release-please-config.json | 10 ++++++++++ 3 files changed, 32 insertions(+) create mode 100644 .github/workflows/release-please.yml create mode 100644 .release-please-manifest.json create mode 100644 release-please-config.json diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..143efcf --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,19 @@ +name: Release Please + +# Шага публикации здесь нет намеренно: packagist забирает версию вебхуком по +# тегу, поэтому достаточно, чтобы release-please тег поставил. Проверено: у всех +# шести библиотек на packagist включён auto-update. +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v5 diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..5fdd883 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "1.1.0" +} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..92761eb --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + ".": { + "release-type": "php", + "package-name": "hexlet/pairs", + "include-component-in-tag": false + } + } +}