ci(hooks): добавить commit-msg и шаблон Conventional Commits
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 6s
quality / changes (push) Successful in 4s
quality / docker-check (push) Skipped
quality / web (push) Successful in 57s
quality / api (push) Successful in 41s
CD / quality (push) Successful in 1m46s
CD / publish (push) Successful in 11m48s

Без type/scope semantic-release не ставил тег и пропускал bake.
This commit is contained in:
Denozordec
2026-09-04 13:43:48 +07:00
parent dd3c378b5f
commit 64e6df8703
8 changed files with 120 additions and 25 deletions
+9 -1
View File
@@ -63,7 +63,15 @@ Semver из git-тега пробрасывается в образ как `APP_
На push в `main` job **publish** запускает `scripts/commit/verify-release-commits.mjs` — в логе будут предупреждения о непарсящихся коммитах.
Если релиз «не создался», а CI зелёный: смотрите лог release — часто `No releasable commits`. Исправление: новый коммит с корректным заголовком (например `fix(web): …`).
Если релиз «не создался», а CI зелёный: смотрите лог **Detect new release** / **Verify releasable** — часто `No releasable commits`.
Причины:
1. Subject не Conventional Commits (`Update CDN Manager: …`, `Init Commit`) — parser не видит `type`.
2. Только `docs` / `chore` / `test` с прошлого тега — намеренный no-op.
3. Scope с запятыми: `refactor(a, b): …` — type не парсится.
Исправление: новый коммит с корректным заголовком (например `fix(web): …` или `feat(fleet): …`) и push в `main`. Локально husky `commit-msg` + commitlint; шаблон [`.gitmessage`](../.gitmessage).
## Перезапуск упавшего job publish