d053faeb23
All git.k3nny.fr/releaser links were missing the /k3nny/ namespace. Fixed in docs/hugo.toml (geekdocRepo + geekdocEditPath), installation, ci-integration, and changelog pages. Also added repo link to the docs home page and README. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
---
|
|
title: releaser
|
|
---
|
|
|
|
**CI-friendly release automation for GitFlow workflows using Conventional Commits.**
|
|
|
|
[Source code](https://git.k3nny.fr/k3nny/releaser) · [Releases](https://git.k3nny.fr/k3nny/releaser/releases)
|
|
|
|
Standard tools like `semantic-release` are designed for trunk-based development. In a GitFlow setup with versioned release branches (`release/1.1`, `release/1.2`), they either fail to respect the branch's version range or require brittle configuration.
|
|
|
|
`releaser` is built for this exact workflow: it reads the branch name to pin the `major.minor`, parses Conventional Commits to determine the patch increment, and handles everything from `pom.xml` / `package.json` update to GitLab/GitHub tag and release creation.
|
|
|
|
## How it works
|
|
|
|
```
|
|
release/1.2 branch
|
|
└─ last tag: 1.2.3 (or none → start at 1.2.0)
|
|
└─ commits since tag → Conventional Commits analysis
|
|
└─ next version: 1.2.4
|
|
```
|
|
|
|
1. **Branch parsing** — extracts `major.minor` from branch name (`release/1.2` → `1.2`)
|
|
2. **Tag discovery** — finds the latest tag matching `major.minor.*` on the current branch
|
|
3. **Commit analysis** — parses Conventional Commits between last tag and HEAD
|
|
4. **Version bump** — increments patch (or minor, if configured via `bump_rules`)
|
|
5. **Release** — updates `pom.xml` / `package.json`, commits, tags, creates GitLab or GitHub release
|