diff options
| author | Danilo M. <danix@danix.xyz> | 2026-07-14 17:44:22 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-07-14 17:44:22 +0200 |
| commit | fdc21a1efbe60eab048c4ba36ea9bc45889fec06 (patch) | |
| tree | fb3f96ebb573193b290a2084feb8505d244b3c1b /CLAUDE.md | |
| parent | 15ec43e46c94adac00a92099f324f74e16ae36b4 (diff) | |
| download | sbo-dockerbuild-fdc21a1efbe60eab048c4ba36ea9bc45889fec06.tar.gz sbo-dockerbuild-fdc21a1efbe60eab048c4ba36ea9bc45889fec06.zip | |
Add SemVer versioning (1.0.0)v1.0.0
Bake a PROJECT_VERSION="1.0.0" const into every script (test-build,
install.sh, and the three image-builder/*.sh). test-build and install.sh
expose -V/--version; the image-builder scripts already use --version for
the Slackware target, so their project-version flag is -V only. bootstrap.sh
handles -V before its root check so it is queryable as any user.
No VERSION file: a release bump is one sed over the consts, anchored on
^PROJECT_VERSION= so it never hits the SBo package VERSION/OPT_VERSION vars.
Release procedure documented in CLAUDE.md; user-facing note in README.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -143,6 +143,28 @@ verified by running `test-build` against a real image. - GPLv2-only. Every source file carries a short GPL header notice. - No em dashes in prose. +## Releases + +SemVer, starting at `1.0.0`. The version is a baked `PROJECT_VERSION="X.Y.Z"` +const in every script (`test-build`, `install.sh`, and the three +`image-builder/*.sh`); there is no VERSION file. `test-build` and `install.sh` +expose `-V`/`--version`; the image-builder scripts already use `--version` for +the Slackware target, so their project-version flag is `-V` only. + +To cut a release (bump `X.Y.Z`): + +```bash +sed -i 's/^PROJECT_VERSION="[^"]*"/PROJECT_VERSION="X.Y.Z"/' \ + test-build install.sh image-builder/*.sh +git commit -aS -m "release X.Y.Z" +git tag -s vX.Y.Z -m "vX.Y.Z" +git push origin master --tags # both remotes (danix_git + forge) +tea release create --repo danix/sbo-dockerbuild --tag vX.Y.Z --title vX.Y.Z +``` + +The `sed` anchors on `^PROJECT_VERSION="..."`, which never matches the SBo +package `VERSION=`/`OPT_VERSION=` vars, so it only touches the project const. + ## Deployment The image-builder scripts run on the docker host VM (`docker.noland.dnx`, |
