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:
gitea-actions committed 2026-08-22 18:26:32 +02:00
1 parent 4ffd7d3c9d
commit e3d56f4c22
12 files changed
+181 -8

No files matched your search

+11 -1
View File
@@ -55,7 +55,13 @@ jobs:
run: uv run --with-requirements requirements-dev.txt --no-project pytest -q
- name: Binárka
run: ./build.sh
run: |
# Na tagu je verze jistá. Jinde je repozitář naklonovaný mělce
# a build.sh si vystačí s tím, co z gitu vyčte.
if [ "$GITHUB_REF_TYPE" = tag ]; then
export VERSION="$GITHUB_REF_NAME"
fi
./build.sh
- name: Zkouška
run: |
@@ -75,6 +81,10 @@ jobs:
curl -sf "http://127.0.0.1:8123/board" | grep -q "127.0.0.1:8123"
test -f zkouska/dice.db
# Verze se musí do binárky opravdu dostat, ne se hlásit jako neznámá.
"${{ matrix.built }}" --version
! "${{ matrix.built }}" --version | grep -q "neznámá"
echo "Binárka jede."
- name: Na release