cfg-update follows semantic versioning (X.Y.Z).
Version bumps and releases are release-only activities. Do not change version strings during normal development on develop.
scripts/check-version.sh verifies that cfg-update, README.md, and the ebuild PV all agree. It does not use git and is safe to run in CI, locally, and from the ebuild test phase.
./scripts/check-version.sh # all three sources must match
./scripts/check-version.sh 1.11.0 # all three must equal 1.11.0From the repo root, run:
./scripts/bump-version.sh 1.11.0This updates in one step:
$versionvariable incfg-update**Version:**line inREADME.md- Renames the ebuild via
git mv(e.g.gentoo/cfg-update-1.10.3.ebuild→gentoo/cfg-update-1.11.0.ebuild). Exactly one ebuild should exist ingentoo/. - Inserts a stub header into
ChangeLog(after the file header block) - Runs
check-version.shto verify all three version strings match the new version
ChangeLog entries added by the script use an ISO date in the header, e.g. *cfg-update-1.11.0 (2026-06-19). Older entries may use Gentoo-style dates (19 JUN 2026); no backfill is required.
After running the script, manually edit the ChangeLog entry with a good summary, then open a release PR to master.
- On
develop: all work merged, tests passing. - Create a release branch from
develop(e.g.release/1.11.0). - On the release branch: run
./scripts/bump-version.sh 1.11.0, polish the ChangeLog entry, and commit. - Open PR: release branch →
master— CI runsperl -c,check-version.sh, and./test/run-tests.sh --full. - Merge the PR.
- On
master: tag (git tag -a 1.11.0 -m "cfg-update 1.11.0"), push the tag (git push origin 1.11.0). - (Optional) Create a GitHub Release from the tag.
- Open PR:
master→developto bring the version bump and ChangeLog intodevelop. Required after every release —developwill not have the new version until this step.
Configure at Settings → Rules → Rulesets → New branch ruleset. Use rulesets only (do not also add legacy branch protection rules for the same branches). Start with enforcement status Evaluate, then switch to Active once behavior is confirmed.
| Setting | Value |
|---|---|
| Target branches | Include by name: develop |
| Restrict deletions | Yes |
| Block force pushes | Yes |
| Require a pull request before merging | Yes (0 approvals OK for solo maintainer) |
| Require status checks to pass | Yes — add integration (may appear as Tests / integration) |
| Require branches to be up to date before merging | Yes |
| Setting | Value |
|---|---|
| Target branches | Include by name: master |
| Restrict deletions | Yes |
| Block force pushes | Yes |
| Require a pull request before merging | Yes — all changes including releases |
| Require status checks to pass | Yes — same integration check |
| Require branches to be up to date before merging | Yes |
Default branch: keep master so the repo homepage reflects the latest release. PRs from contributors target develop by convention (see AGENTS.md).