Skip to content

fix(release): unblock the version bump and stop prose from bumping the major - #221

Merged
Xyzcancer merged 1 commit into
masterfrom
fix/release-pipeline-permissions-and-notes
Sep 1, 2026
Merged

fix(release): unblock the version bump and stop prose from bumping the major#221
Xyzcancer merged 1 commit into
masterfrom
fix/release-pipeline-permissions-and-notes

Conversation

@Xyzcancer

@Xyzcancer Xyzcancer commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

После мержа #220 релизная цепочка встала: master остался на 3.30.0, публикация не запускалась.

Права. Версию считает контейнерный экшен — работает от root и оставляет root-овые объекты в .git, после чего следующий шаг от runner падает на git add. Возвращаем владение рабочей копией перед коммитом.

Ложный мажор. semantic-release посчитал 4.0.0, приняв за пометку прозу из тела merge-коммита 51eead0: строка начиналась со слов «breaking change», а дефолтные ключевые слова ловят их без двоеточия. Самого ломающего изменения в релизе нет — b6c43a5 вернул минимум iOS 12. Оба анализатора теперь требуют канонический футер BREAKING CHANGE:.

Проверено на conventional-commits-parser: с дефолтом тело 51eead0 даёт 1 note, с новой конфигурацией — 0, настоящий футер по-прежнему распознаётся.

После мержа ожидается 3.31.0 → тег → публикация → синк.

…e major

The release chain stopped at the second step after #220 and published nothing.

Two independent faults:

Permissions. The version is computed by a container action, which runs as root
and leaves root-owned objects in .git. The next step runs as `runner` and could
not add to the object database:

    error: insufficient permission for adding an object to repository database
    fatal: updating files failed

It hands the workspace back before touching git.

A false major. semantic-release computed 4.0.0 from a BREAKING CHANGES note it
found in the body of merge commit 51eead0 — which was ordinary prose explaining
that raising the pod to iOS 13 would be breaking. The line happened to start
with the words "breaking change", and the default keyword list matches those
bare words. Worse, that break no longer exists: b6c43a5 gated the SwiftUI
wrapper and restored the iOS 12 floor, so the release notes described a
migration the release does not contain.

Both analysers now require the canonical `BREAKING CHANGE:` footer, colon
included. Verified against conventional-commits-parser on 51eead0's body: 1 note
with the default keywords, 0 with these, and a real `BREAKING CHANGE:` footer
still parses. The next run should compute 3.31.0.
@Xyzcancer
Xyzcancer merged commit 173c510 into master Sep 1, 2026
2 checks passed
@Xyzcancer
Xyzcancer deleted the fix/release-pipeline-permissions-and-notes branch September 1, 2026 09:58
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