Kako radi bump verb?¶
TL;DR
bump je PRVI verb u pipeline lancu. Piše početni ci-state.json,
računa verzije, push-uje git tag (za production), i bilježi
pipeline.release_commit (za production) ili samo image_tag
(za ostalo).
Šta radi, korak po korak¶
- Učitaj
services.json. Validira shemu, locira traženi servis poSERVICEenv var-u,--groupfilter-u ili--all. Loader:ci/service_manifest.py(jedini dozvoljeni čitač). - Odredi verziju. Za production: izračunaj next semver iz
git tagova +
release.tag_pattern. Za ostalo: korististaging_suffix(default-rc.N). - Generiši CHANGELOG.
ci/git_cliff/— pinovanigit-cliffbinary, vidici/git_cliff/CLAUDE.mdod zadnjeg taga do HEAD. - Commit CHANGELOG + (opcionalno)
services.jsonizmjene. Samo za production env. - Push + tag.
git tag v<version>na release commit; atomarno push-uj branch + tag na origin. - Zapiši u
ci-state.json: services.<name>.version(npr.1.2.3)services.<name>.image_tag(npr.1.2.3ili1.2.3-rc.1)services.<name>.release_tag(npr.v1.2.3; za non-prod prazan)pipeline.release_commit(production samo)pipeline.release_mode: true(production samo)- Auto-seed distributed lock ako je potrebno (npr. za
bumpkoji prethodi Coolify deployu, vidici/lock/CLAUDE.md).
Production vs ostalo¶
| Production | Staging/Preview/Development | |
|---|---|---|
| Pravi commit? | DA (CHANGELOG + tag) | NE |
release_commit u state? |
DA | NE (prazan) |
release_mode u state? |
true |
false |
release_tag u state? |
v1.2.3 |
prazan |
image_tag ima staging suffix? |
NE | DA (default -rc.N) |
Triggera ci-checkout-release? |
DA | NE (no-op) |
Failure modes¶
bumpfail-uje nagit tag --points-at HEAD— nema prethodnog taga za izračunavanje next verzije. Fix: ručno kreiraj početni tag (git tag v0.1.0 && git push --tags).bumpfail-uje nagit push(non-fast-forward) — drugi pipeline je već push-ovao. Fix: rerun;bumpkoristi pull-and-rebase strategiju.- CHANGELOG prazan — nema commitova od zadnjeg taga. Fix:
provjeri
git logručno, ili bump-uj na sljedeći major. - Schema mismatch —
services.jsonne prolazi validator. Fix:ci/json/services_migrate.py services.json --to <target>(vidi02-schemas/01-where-in-schema.md).
Vidi i¶
v7.md§2 "Kako radi" — gdje bump spada u pipeline03-release/01-two-patterns.md— štarelease_commitznači za build/deploy/notifyci/verbs/bump.py— implementacijaci/verbs/CLAUDE.md— svi verbs- njihov state zapis
ci/json/CLAUDE.md—services.jsonpolja kojabumpčita