Files
ObsiGate/scripts/bump_version.sh
T
bruno d98c0c2f33
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
fix(version): BUG-047 la version suit chaque livraison (source unique VERSION + bump SemVer automatique)
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).
2026-09-16 11:02:47 -04:00

35 lines
1.2 KiB
Bash

#!/usr/bin/env bash
# -----------------------------------------------------------------------------
# ObsiGate — version bump helper (SemVer MAJEUR.MINEUR.CORRECTIF)
#
# Wrapper historique : toute la logique vit dans `scripts/bump_version.py`
# (source unique de vérité : `./VERSION`, incrément inspiré des
# Conventional Commits).
#
# breaking (`!:` / BREAKING CHANGE) -> MAJEUR (x.0.0)
# `feat` -> MINEUR (x.y.0)
# tout le reste (fix, perf, …) -> CORRECTIF (x.y.z)
#
# Usage :
# scripts/bump_version.sh --dry-run # prévisualiser
# scripts/bump_version.sh # bump + synchro des fichiers
# scripts/bump_version.sh --minor --commit --tag --push
# scripts/bump_version.sh --print-version
#
# Voir `scripts/bump_version.py --help` pour la liste complète des options.
# -----------------------------------------------------------------------------
set -euo pipefail
root="$(git rev-parse --show-toplevel)"
py=""
for cand in python3 python; do
if command -v "$cand" >/dev/null 2>&1; then py="$cand"; break; fi
done
if [ -z "$py" ]; then
echo "✗ Aucun interpréteur Python trouvé (python3 / python)." >&2
exit 1
fi
exec "$py" "$root/scripts/bump_version.py" "$@"