ci: Version aus VERSION-Datei + Commit-Anzahl statt Run-Nummer
Micro-Version jetzt commit-basiert statt aus github.run_number: - Major.Minor in neuer Datei VERSION (per Bump-Commit gepflegt). - Micro = Commits seit dem letzten VERSION-Bump (git rev-list --count <VERSION-Commit>..HEAD) -> beginnt nach einem Bump wieder bei 0 (SemVer-artig, z. B. 1.0.0, 1.0.1, dann 1.1.0). - checkout mit fetch-depth: 0 (flacher Klon zaehlte sonst nur 1 Commit). - sed ersetzt jetzt ">Werkbaum <ziffern></a>" (regex), damit auch nach einem Major/Minor-Bump im Quelltext getroffen wird; viewport-/xml-1.0 bleiben unberuehrt. Vorteil ggue. Run-Nummer: vollstaendig aus dem Repo reproduzierbar, zaehlt keine fehlgeschlagenen/manuellen Laeufe, kein Rueckschreiben. Doku: README (EN+DE) Deployment-Abschnitt und DECISIONS D16 aktualisiert. Keine SPEC-Aenderung (Notation unberuehrt). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
aa16665853
commit
c380a8ac63
@@ -30,6 +30,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
# Volle Historie: die Micro-Version wird aus der Commit-Anzahl
|
||||
# abgeleitet (Standard wäre ein flacher Klon mit nur einem Commit).
|
||||
fetch-depth: 0
|
||||
|
||||
# Platzhalter für spätere Vitest-Läufe (Tests existieren noch nicht,
|
||||
# siehe docs/TASKS.md, Phase 1). Bei Aktivierung: Node einrichten und
|
||||
@@ -49,18 +53,24 @@ jobs:
|
||||
# den MIT-Link im Footer). Die Editor-Quelle bleibt unverändert — die
|
||||
# ../-Pfade werden nur auf der Kopie im Site-Ordner geradegezogen, weil
|
||||
# sie von der Wurzel-URL aus sonst über die Site hinauszeigen würden.
|
||||
# Zusätzlich wird die Micro-Version aus der Run-Nummer gesetzt: aus
|
||||
# „Werkbaum 1.0" im Footer wird „Werkbaum 1.0.<run_number>". Die Nummer
|
||||
# steigt bei jedem Workflow-Lauf monoton um 1, ganz ohne Commit zurück
|
||||
# ins Repo (siehe README, Abschnitt „Deployment").
|
||||
# Zusätzlich wird die Versionsnummer im Footer gesetzt: Major.Minor aus
|
||||
# der VERSION-Datei (per Bump-Commit gepflegt), die Micro-Stelle aus der
|
||||
# Anzahl der Commits seit dem letzten VERSION-Bump — sie steigt also mit
|
||||
# jedem Commit und beginnt nach einem Bump wieder bei 0. Aus „Werkbaum
|
||||
# 1.0" im Footer-Quelltext wird so z. B. „Werkbaum 1.0.7" (siehe README,
|
||||
# Abschnitt „Deployment"). Braucht die volle Historie (fetch-depth: 0).
|
||||
- name: Site zusammenstellen
|
||||
env:
|
||||
BUILD_VERSION: "1.0.${{ github.run_number }}"
|
||||
run: |
|
||||
MAJORMINOR="$(tr -d '[:space:]' < VERSION)"
|
||||
BASE="$(git log -1 --format=%H -- VERSION)" # letzter Bump-Commit
|
||||
[ -z "$BASE" ] && BASE="$(git rev-list --max-parents=0 HEAD | tail -1)"
|
||||
MICRO="$(git rev-list --count "${BASE}..HEAD")" # Commits seit dem Bump
|
||||
BUILD_VERSION="${MAJORMINOR}.${MICRO}"
|
||||
echo "Footer-Version: ${BUILD_VERSION}"
|
||||
mkdir -p site/docs/brand
|
||||
sed -e 's#\.\./docs/brand/#docs/brand/#g' \
|
||||
-e 's#\.\./LICENSE#LICENSE#g' \
|
||||
-e "s#>Werkbaum 1.0</a>#>Werkbaum ${BUILD_VERSION}</a>#" \
|
||||
-e "s#>Werkbaum [0-9][0-9.]*</a>#>Werkbaum ${BUILD_VERSION}</a>#" \
|
||||
frontend/index.html > site/index.html
|
||||
cp docs/brand/* site/docs/brand/
|
||||
cp LICENSE site/LICENSE
|
||||
|
||||
Reference in New Issue
Block a user