diff --git a/CLAUDE.md b/CLAUDE.md index 42c6ac9..f855b60 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -136,7 +136,7 @@ The nginx config (`nginx.conf.build.sh`) serves parkour2's split frontend/backen Clones the branch/tag named by `BUILD_parkour2` (e.g. `parkour2-develop` → branch `develop`, `parkour2-26.07.16` → tag `26.07.16`) into `${BUILD_DIR}`, caching a `.tar` there to speed up the initial clone on future full rebuilds. That local `.tar`/directory is only a seed for the first clone into `${PROJECT}/${BUILD_parkour2}` - once that checkout exists, its `origin` remote is pointed at the real `https://github.com/maxplanck-ie/parkour2.git` (not the local cache) and `git pull origin ` is run on every build, so a branch pin like `develop` actually tracks new upstream commits instead of freezing at whatever the cache had. Installs Python deps via `uv pip install --system` using the compiled requirements file matching the running Python minor version (`backend/requirements//base.txt`). Builds the Vue3 frontend with `npm run build`. Generates `backend/.env` (secret key, database URL, CSRF trusted origin) and runs `manage.py collectstatic`. -**Version pin (`build.profile`'s `BUILD_parkour2`) currently tracks `develop`, not a release tag** - deliberate, to get bug fixes (e.g. maxplanck-ie/parkour2#310) before they're cut into a tagged release. This means every `buildall.sh` run can pull in new upstream commits, unlike the immutable-by-design tag pins used for the other components. Switch back to a tag (`parkour2-`) once a release incorporating the needed fixes exists, for reproducibility. +**Version pin (`build.profile`'s `BUILD_parkour2`) is the release tag `parkour2-26.10.05`.** It tracked `develop` from 26.07 until 26.10.05 to pick up fixes (e.g. maxplanck-ie/parkour2#310) before they were released. With a tag pin, `git pull origin ` on each build is a no-op, so rebuilds are reproducible. Upstream tags are not strictly immutable, though: `26.10.05` was re-pointed from `5abec953` to `073d4b6b` (adding a CHANGELOG-only commit) on release day, so check `git ls-remote --tags` when an exact commit matters. Changing `BUILD_parkour2` also changes the checkout directory (`${PROJECT}/${BUILD_parkour2}`), and with it the paths in the regenerated `startstop.sh`, `nginx.conf` and `profile`. The running services keep using the old checkout until they're restarted. Also, `develop` can rewrite already-applied migrations (it did in September 2026), so after any upgrade compare `pg_dump --schema-only` against a from-scratch `migrate`. ### `backend/media` persistence across releases diff --git a/build.profile b/build.profile index 11ff848..603f663 100644 --- a/build.profile +++ b/build.profile @@ -1,6 +1,6 @@ BUILD_TAG=26.10.05 -BUILD_parkour2=parkour2-develop +BUILD_parkour2=parkour2-26.10.05 BUILD_DIR=build