parity_venv.sh follows the app to 3.13; the abi3 tag stays at cp312

The wheel is cp312-abi3, so it loads on 3.13 unchanged — the pin that has to
move is the interpreter the parity venv is built with, since its whole point is
resembling what the image ships.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CDYRXGB8tW4NE7b91g7Kdb
This commit is contained in:
2026-08-11 07:24:08 +02:00
parent 6b8a79ba36
commit fab8e93a4b
3 changed files with 17 additions and 12 deletions

View File

@@ -4,15 +4,17 @@
#
# The app's manifests are never touched: a swap is per-environment because both
# distributions own the OCP/ import path and a process can hold only one OCCT
# build. main therefore keeps resolving cadquery-ocp-novtk until the Phase 10C
# cutover, and this venv is how parity is proven in the meantime.
# build. Since the Phase 10C cutover the app resolves n3xd-ocp itself, so the
# uninstall below is a no-op on a fresh venv; what the script still buys is a
# side environment pinned to the image's interpreter, and `--local` for trying
# an unpublished wheelhouse build against the full app suite.
#
# tools/parity_venv.sh install from the Gitea registry
# tools/parity_venv.sh --local install the local wheelhouse build
#
# Then run whichever slice of the app suite the current increment claims — with
# the venv's own interpreter, NOT `uv run`, which re-syncs the environment
# against the manifest and so puts the stock wheel straight back:
# Then run whichever slice of the app suite you care about — with the venv's own
# interpreter, NOT `uv run`, which re-syncs the environment against the manifest
# and so puts the pinned wheel straight back over a `--local` build:
# cd ../app && .venv-ocp-parity/bin/python -m pytest backend/tests/test_geom_memo.py
set -euo pipefail
@@ -29,10 +31,10 @@ cd "$APP"
export UV_PROJECT_ENVIRONMENT="$VENV_NAME"
echo "--- syncing the app's dependencies into $VENV_NAME ---"
# 3.12 explicitly: the app's floor is >=3.12, so uv would otherwise pick the
# newest interpreter on the box and the parity venv would stop resembling what
# the image ships.
uv sync --all-groups --python 3.12
# 3.13 explicitly: uv would otherwise pick the newest interpreter on the box and
# the parity venv would stop resembling what the image ships. Move this pin
# whenever the app's floor moves (roadmap 10D).
uv sync --all-groups --python 3.13
# `uv pip` does NOT honour UV_PROJECT_ENVIRONMENT — it discovers an environment
# the way pip does, which here means the app's own .venv. Without --python it