Binárka má vědět, která je
Venku jsou čtyři soubory na release, tři systémy a k tomu zdrojáky. Když někdo napíše, že mu něco nefunguje, není jak zjistit, co vlastně pustil. Verzi zapisuje build.sh do verze.txt, kostky.spec ji přibalí a version.py ji z rozbalené binárky přečte. Ze zdrojáků má přednost git describe, který ví i o commitech nad tagem a o rozdělané práci. V CI se na tagu vnucuje proměnnou, protože runner klonuje jeden commit bez značek. Hlásí se přes --version, v úvodní hlášce serveru a v patičce každé stránky. Zkouška v obou workflow ověří, že se do binárky opravdu dostala.
This commit is contained in:
1 parent
4ffd7d3c9d
commit
e3d56f4c22
12 files changed
+181
-8
No files matched your search
@@ -12,11 +12,18 @@
|
||||
# se do ní nedostane, takže kontejner k tomu není potřeba.
|
||||
set -euo pipefail
|
||||
|
||||
VERSION=${VERSION:-3.11}
|
||||
PYTHON_VERSION=${PYTHON_VERSION:-3.11}
|
||||
BUILD=${BUILD:-.build}
|
||||
|
||||
uv python install "$VERSION"
|
||||
uv venv --quiet --managed-python --python "$VERSION" "$BUILD"
|
||||
# Verze, kterou binárka ohlásí přes --version. V CI ji na tagu vnutíme
|
||||
# proměnnou, protože tam je repozitář naklonovaný na jeden commit a git
|
||||
# describe nemá o co se opřít.
|
||||
VERSION=${VERSION:-$(git describe --tags --always --dirty 2>/dev/null || echo neznámá)}
|
||||
printf '%s\n' "$VERSION" > verze.txt
|
||||
echo "Verze: $VERSION"
|
||||
|
||||
uv python install "$PYTHON_VERSION"
|
||||
uv venv --quiet --managed-python --python "$PYTHON_VERSION" "$BUILD"
|
||||
|
||||
# Windows dává spustitelné soubory venvu do Scripts/, zbytek světa do bin/.
|
||||
python="$BUILD/bin/python"
|
||||
|
||||
Reference in new issue
Block a user