From 98000d9c8b41c17321c9478478bb4bea7addbb5c Mon Sep 17 00:00:00 2001 From: "Project parkour-dev @ molgen" Date: Mon, 5 Oct 2026 12:00:36 +0200 Subject: [PATCH] build.profile: pin parkour2 to release tag 26.10.05 instead of develop 26.10.05 contains the fixes we tracked develop for, so switch back to a tag pin for reproducible rebuilds. Code is identical to the develop commit currently deployed (5abec953); the tag adds only a CHANGELOG commit (073d4b6b). Verified parkour2.build.sh's clone/pull sequence works for a tag (detached HEAD, pull is a no-op on rebuild). Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 2 +- build.profile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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