aboutsummaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-14 17:44:22 +0200
committerDanilo M. <danix@danix.xyz>2026-07-14 17:44:22 +0200
commitfdc21a1efbe60eab048c4ba36ea9bc45889fec06 (patch)
treefb3f96ebb573193b290a2084feb8505d244b3c1b /CLAUDE.md
parent15ec43e46c94adac00a92099f324f74e16ae36b4 (diff)
downloadsbo-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.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 9d4cd5f..c4813db 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -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`,