fix(version): BUG-047 la version suit chaque livraison (source unique VERSION + bump SemVer automatique)
CI / lint (push) Successful in 1m27s
CI / security (push) Successful in 57s
CI / test (push) Successful in 3m11s
CI / build (push) Successful in 54s
CI / e2e (push) Successful in 10m59s

VERSION (racine) devient la source unique de verite MAJEUR.MINEUR.CORRECTIF, incrementee a chaque commit par le hook prepare-commit-msg (BREAKING -> majeur, feat -> mineur, sinon correctif) ; post-commit rattache les fichiers derives au commit et cree le tag vX.Y.Z, publie au push (push.followTags). Tous les derives sont resynchronises : package.json, desktop Tauri, README.md/README.fr.md, docs/ROADMAP.md, CHANGELOG.md. Backend, image Docker et desktop lisent le meme fichier (plus de numero code en dur). Outils : scripts/bump_version.py, scripts/install-hooks.sh. Tests : tests/test_version.py (46, garde-fou de coherence globale).
This commit is contained in:
2026-09-16 11:02:47 -04:00
parent 3261917d62
commit d98c0c2f33
24 changed files with 1423 additions and 249 deletions
+4 -7
View File
@@ -15,7 +15,6 @@ RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
FROM python:3.11-slim
LABEL maintainer="Bruno Beloeil" \
version="1.4.0" \
description="ObsiGate — lightweight web interface for Obsidian vaults"
WORKDIR /app
@@ -33,12 +32,10 @@ RUN apt-get update \
COPY backend/ ./backend/
COPY frontend/ ./frontend/
# Bake version: build.sh/CI pre-generate backend/VERSION; backend/VERSION est
# exclu du .dockerignore pour que le build utilise TOUJOURS l'ARG ci-dessous
# (jamais un fichier stale "1.8.0-...-dirty" du contexte build qui afficherait
# une vieille version au lieu du tag courant).
ARG VERSION=2.2.1
RUN test -f backend/VERSION || echo "$VERSION" > backend/VERSION
# Version livrée : `VERSION` (racine du dépôt) est la source unique de vérité —
# copié dans l'image, jamais un numéro codé en dur. `backend/version.py` le lit
# et /api/health l'expose (header + boîte À propos).
COPY VERSION ./VERSION
# Create non-root user for security + data directory for auth persistence
# Using explicit UID/GID 1000 to match common host user and docker-compose settings