Versione e commit nel piè di pagina #70

Closed
opened 2026-10-12 12:18:02 +00:00 by Adriano · 1 comment
Owner

ESITO: richiesta
COSA: versione e commit dell'applicazione visibili nel piè di pagina del frontend (Adriano, 12/10/2026). Oggi non si capisce quale build gira su tieflow.tielogic.xyz (era ferma al 28/07, 104 commit indietro).

CRITERIO DI FATTO: footer di base.html e footer di auth/login.html mostrano v3.0.0 · <commit corto>; senza commit (sviluppo locale) solo v3.0.0; test verdi.

Analisi (passo 1)

Versione = [project] version di pyproject.toml (oggi 3.0.0), già copiato nell'immagine in /app/pyproject.toml (Dockerfile.frontend). Commit = build arg, perché .git è escluso dal contesto (.dockerignore): stesso schema di VISION_ENGINE_VERSION in Dockerfile.vision, ma facoltativo (build senza commit non fallisce, mostra solo la versione).

FILE e modifiche:

  1. src/frontend/flask_app/config.py — in Config: APP_VERSION letto da pyproject.toml con tomllib (cercare il file risalendo dalla cartella del modulo: in container /app/pyproject.toml, in repo radice; se non trovato "dev"); APP_COMMIT = os.environ.get("APP_COMMIT", "")[:7]. Lettura una volta all'import, non per richiesta.
  2. src/frontend/flask_app/app.py inject_globals() (riga ~234) — aggiungere "app_version" e "app_commit" da Config.
  3. src/frontend/flask_app/templates/base.html righe ~106-112 — nel <p> del footer, dopo «Tielogic»: &middot; v{{ app_version }}{% if app_commit %} &middot; {{ app_commit }}{% endif %}.
  4. src/frontend/flask_app/templates/auth/login.html riga ~160 — stessa aggiunta nella riga del footer.
  5. Dockerfile.frontend stage finale — ARG APP_COMMIT + ENV APP_COMMIT=${APP_COMMIT}, con commento d'uso.
  6. docker-compose.yml e docker-compose.dev.yml servizio client — build.args: APP_COMMIT: ${APP_COMMIT:-}.
  7. README.md sezione deploy — comando: APP_COMMIT=$(git rev-parse --short HEAD) docker compose build client.

TEST:

  • nuovo src/frontend/flask_app/tests/test_footer_version.py: (a) Config.APP_VERSION uguale alla version di pyproject.toml; (b) pagina login renderizzata contiene v<versione>; (c) con app_commit valorizzato (monkeypatch di Config.APP_COMMIT) il commit compare, vuoto non compare il separatore in più.
  • suite frontend intera: uv run pytest src/frontend verde.

NON TOCCARE: backend (src/backend/main.py version="0.1.0" resta, fuori perimetro), task_execute.html (footer vuoto di proposito, schermo intero), vision, migrazioni, traduzioni (stringa senza testo da tradurre).

ESITO: richiesta COSA: versione e commit dell'applicazione visibili nel piè di pagina del frontend (Adriano, 12/10/2026). Oggi non si capisce quale build gira su tieflow.tielogic.xyz (era ferma al 28/07, 104 commit indietro). CRITERIO DI FATTO: footer di `base.html` e footer di `auth/login.html` mostrano `v3.0.0 · <commit corto>`; senza commit (sviluppo locale) solo `v3.0.0`; test verdi. ## Analisi (passo 1) Versione = `[project] version` di `pyproject.toml` (oggi `3.0.0`), già copiato nell'immagine in `/app/pyproject.toml` (Dockerfile.frontend). Commit = build arg, perché `.git` è escluso dal contesto (`.dockerignore`): stesso schema di `VISION_ENGINE_VERSION` in `Dockerfile.vision`, ma **facoltativo** (build senza commit non fallisce, mostra solo la versione). FILE e modifiche: 1. `src/frontend/flask_app/config.py` — in `Config`: `APP_VERSION` letto da `pyproject.toml` con `tomllib` (cercare il file risalendo dalla cartella del modulo: in container `/app/pyproject.toml`, in repo radice; se non trovato `"dev"`); `APP_COMMIT = os.environ.get("APP_COMMIT", "")[:7]`. Lettura una volta all'import, non per richiesta. 2. `src/frontend/flask_app/app.py` `inject_globals()` (riga ~234) — aggiungere `"app_version"` e `"app_commit"` da `Config`. 3. `src/frontend/flask_app/templates/base.html` righe ~106-112 — nel `<p>` del footer, dopo «Tielogic»: ` &middot; v{{ app_version }}{% if app_commit %} &middot; {{ app_commit }}{% endif %}`. 4. `src/frontend/flask_app/templates/auth/login.html` riga ~160 — stessa aggiunta nella riga del footer. 5. `Dockerfile.frontend` stage finale — `ARG APP_COMMIT` + `ENV APP_COMMIT=${APP_COMMIT}`, con commento d'uso. 6. `docker-compose.yml` e `docker-compose.dev.yml` servizio `client` — `build.args: APP_COMMIT: ${APP_COMMIT:-}`. 7. `README.md` sezione deploy — comando: `APP_COMMIT=$(git rev-parse --short HEAD) docker compose build client`. TEST: - nuovo `src/frontend/flask_app/tests/test_footer_version.py`: (a) `Config.APP_VERSION` uguale alla version di `pyproject.toml`; (b) pagina login renderizzata contiene `v<versione>`; (c) con `app_commit` valorizzato (monkeypatch di `Config.APP_COMMIT`) il commit compare, vuoto non compare il separatore in più. - suite frontend intera: `uv run pytest src/frontend` verde. NON TOCCARE: backend (`src/backend/main.py` `version="0.1.0"` resta, fuori perimetro), `task_execute.html` (footer vuoto di proposito, schermo intero), vision, migrazioni, traduzioni (stringa senza testo da tradurre).
Adriano added the sviluppo label 2026-10-12 12:18:02 +00:00
Author
Owner

Soluzione

ESITO: fatto
RIF: gitea:Adriano/TieMeasureFlow#70
COSA: footer di base.html e auth/login.html mostrano v · ; commit da build arg APP_COMMIT (facoltativo).
FILE: src/frontend/flask_app/config.py (_read_app_version, Config.APP_VERSION/APP_COMMIT), app.py inject_globals, templates base.html e auth/login.html, Dockerfile.frontend (ARG/ENV APP_COMMIT), docker-compose.yml e .dev.yml (build.args), README.md, tests/test_footer_version.py (4 test).
COMMIT: bafc776, merge 82ad885 su V3.0.0.
PROVA: suite frontend su Linux (VPS, clone pulito di 82ad885) → 325 passed, 2 skipped. In produzione: https://tieflow.tielogic.xyz/auth/login → «Sistema di misurazione industriale · v3.0.0 · 82ad885».
BUILD: APP_COMMIT=$(git rev-parse --short HEAD) docker compose build client

**Soluzione** ESITO: fatto RIF: gitea:Adriano/TieMeasureFlow#70 COSA: footer di base.html e auth/login.html mostrano v<version di pyproject.toml> · <commit corto>; commit da build arg APP_COMMIT (facoltativo). FILE: src/frontend/flask_app/config.py (_read_app_version, Config.APP_VERSION/APP_COMMIT), app.py inject_globals, templates base.html e auth/login.html, Dockerfile.frontend (ARG/ENV APP_COMMIT), docker-compose.yml e .dev.yml (build.args), README.md, tests/test_footer_version.py (4 test). COMMIT: bafc776, merge 82ad885 su V3.0.0. PROVA: suite frontend su Linux (VPS, clone pulito di 82ad885) → 325 passed, 2 skipped. In produzione: https://tieflow.tielogic.xyz/auth/login → «Sistema di misurazione industriale · v3.0.0 · 82ad885». BUILD: APP_COMMIT=$(git rev-parse --short HEAD) docker compose build client
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Adriano/TieMeasureFlow#70