Versienummer automatisch verhogen bij elke commit (1.1.1)
- VERSION bevat het versienummer, config.py leest het daaruit (werkt ook in Docker, waar config.ini niet meegaat) - verhoog_versie.py: laatste cijfer +1 tot 99, dan het middelste; het middelste ook tot 99, dan het eerste - CLAUDE.md: Claude verhoogt de versie voor elke commit Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
51b016d8fb
commit
6e78b2e790
4 files changed
+62
-1
No files matched your search
@@ -0,0 +1,18 @@
|
||||
# PIVOT – afspraken voor Claude
|
||||
|
||||
## Versienummer bij elke commit
|
||||
|
||||
Het versienummer van PIVOT staat in het bestand `VERSION` (onderaan elke pagina: "PIVOT – Versie x.y.z").
|
||||
|
||||
**Vóór elke commit** het versienummer één stap verhogen en `VERSION` mee in de commit opnemen:
|
||||
|
||||
```bash
|
||||
python verhoog_versie.py
|
||||
git add VERSION
|
||||
```
|
||||
|
||||
- Eén verhoging per commit, niet per gewijzigd bestand.
|
||||
- Regels: het laatste cijfer telt op tot 99, daarna gaat het middelste cijfer omhoog (`1.1.99` → `1.2.0`); het middelste cijfer gaat ook tot 99 (`1.99.99` → `2.0.0`). Het eerste cijfer heeft geen maximum.
|
||||
- Nooit `VERSION` met de hand aanpassen of nummers overslaan.
|
||||
- Geeft een merge of pull een conflict in `VERSION` (twee branches verhoogden tegelijk)? Neem het **hoogste** van de twee nummers en voer daarna `python verhoog_versie.py` nog één keer uit.
|
||||
- Vermeld het nieuwe nummer in de commitboodschap, bv. `Logo leesbaar maken in het donkere thema (1.1.2)`.
|
||||
@@ -27,6 +27,15 @@ def _get(section, key, fallback='', env=None):
|
||||
return config_file.get(section, key, fallback=fallback)
|
||||
|
||||
|
||||
def _versie():
|
||||
"""Versienummer uit het bestand VERSION (wordt bij elke commit verhoogd met verhoog_versie.py, zie CLAUDE.md)."""
|
||||
try:
|
||||
with open(os.path.join(base_dir, 'VERSION'), encoding='utf-8') as f:
|
||||
return f.read().strip()
|
||||
except OSError:
|
||||
return _get('algemeen', 'app_version', 'onbekend')
|
||||
|
||||
|
||||
def _secret_key():
|
||||
"""FLASK_SECRET_KEY, config.ini, of anders een willekeurige sleutel die bewaard wordt in geheimen/flask.key.
|
||||
(Nooit een vaste standaardsleutel: daarmee kan iemand een sessie voor eender welke school vervalsen.)"""
|
||||
@@ -86,7 +95,7 @@ class Config(metaclass=_SchoolConfigMeta):
|
||||
_get('algemeen', 'superbeheerders', env='PIVOT_SUPERBEHEERDERS').replace(';', ',').split(',')
|
||||
if x.strip()]
|
||||
|
||||
APP_VERSION = _get('algemeen', 'app_version', '1.1.0')
|
||||
APP_VERSION = _versie()
|
||||
|
||||
# Elke bezochte pagina bewaren in de tabel Logs (centrale database)
|
||||
LOGBOEK = _get('algemeen', 'logboek', 'ja').strip().lower() in ('ja', 'yes', 'true', '1', 'on')
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
"""
|
||||
Verhoogt het versienummer in VERSION met één stap. Uitvoeren vóór elke commit:
|
||||
|
||||
python verhoog_versie.py
|
||||
|
||||
Regels: het laatste cijfer gaat telkens één omhoog, tot 99.
|
||||
1.1.0 -> 1.1.1
|
||||
1.1.99 -> 1.2.0
|
||||
1.99.99 -> 2.0.0 (het eerste cijfer heeft geen maximum)
|
||||
"""
|
||||
import os
|
||||
|
||||
PAD = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'VERSION')
|
||||
MAX = 99
|
||||
|
||||
|
||||
def volgende(versie):
|
||||
hoofd, sub, patch = (int(x) for x in versie.strip().split('.'))
|
||||
patch += 1
|
||||
if patch > MAX:
|
||||
patch, sub = 0, sub + 1
|
||||
if sub > MAX:
|
||||
sub, hoofd = 0, hoofd + 1
|
||||
return f"{hoofd}.{sub}.{patch}"
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
with open(PAD, encoding='utf-8') as f:
|
||||
oud = f.read().strip()
|
||||
nieuw = volgende(oud)
|
||||
with open(PAD, 'w', encoding='utf-8') as f:
|
||||
f.write(nieuw + '\n')
|
||||
print(f"{oud} -> {nieuw}")
|
||||
Reference in new issue
Block a user