From 1329f164d8ed1756299433b277cfd4bcb964bdbd Mon Sep 17 00:00:00 2001 From: flfeders Date: Thu, 17 Sep 2026 18:46:51 +0200 Subject: [PATCH] chore(release): start FEDEO releases at 3.0.0 --- .env.example | 2 +- CHANGELOG.md | 2 +- README.md | 2 +- docs/releases.md | 14 +++++++------- release.config.json | 2 +- scripts/selfhost-install.sh | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.env.example b/.env.example index 41c121ef..75eb8ac5 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,5 @@ # FEDEO Selfhosting -# Feste Release-Version, z. B. 1.0.0. dev behält den bisherigen Entwicklungskanal bei. +# Feste Release-Version, z. B. 3.0.0. dev behält den bisherigen Entwicklungskanal bei. FEDEO_VERSION=dev DOMAIN=app.example.com CONTACT_EMAIL=admin@deine-domain.de diff --git a/CHANGELOG.md b/CHANGELOG.md index f914a5ed..d21b8297 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,6 @@ Die Release-Pipeline erzeugt die Versionshistorie automatisch aus Conventional C - Jeder Release enthält seine Änderungen zusätzlich als herunterladbare `CHANGELOG.md`. - `release-manifest.json` ordnet Version, Commit, Docker-Digests, Komponenten und Migrationen eindeutig zu. -Die Versionshistorie vor Einführung der Releases bleibt in der Git-Historie erhalten. Die automatische Reihe beginnt mit `v1.0.0`; Ausgangspunkt ist der in `release.config.json` dokumentierte Commit. +Die Versionshistorie vor Einführung der Releases bleibt in der Git-Historie erhalten. Die automatische Reihe beginnt mit `v3.0.0`; Ausgangspunkt ist der in `release.config.json` dokumentierte Commit. Die Pipeline schreibt keine automatischen Changelog-Commits zurück nach `main`. Dadurch bleiben Merge-Historie und Release-Auslöser eindeutig. diff --git a/README.md b/README.md index 0848e095..74f2021e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Diese Anleitung beschreibt ein produktionsnahes Self-Hosting von FEDEO mit Docke Ein Push auf `main` veröffentlicht nach erfolgreichen Prüfungen und Builds automatisch die nächste FEDEO-Version. Die Versionsnummer und Release Notes entstehen aus Conventional Commits (`fix:`, `feat:`, Breaking Changes). `dev` bleibt der Entwicklungskanal. -Für feste Selfhost-Versionen `FEDEO_VERSION` in `.env` auf eine veröffentlichte Version wie `1.0.0` setzen und die Betriebsdateien aus demselben Release verwenden. Ohne gesetzte Version bleibt der bisherige `dev`-Kanal aktiv. Die folgenden `raw/branch/dev`-Beispiele beschreiben diesen Entwicklungskanal. +Für feste Selfhost-Versionen `FEDEO_VERSION` in `.env` auf eine veröffentlichte Version wie `3.0.0` setzen und die Betriebsdateien aus demselben Release verwenden. Ohne gesetzte Version bleibt der bisherige `dev`-Kanal aktiv. Die folgenden `raw/branch/dev`-Beispiele beschreiben diesen Entwicklungskanal. Release-Freigabe, Einrichtung der CI-Tokens, versionierte Installation, Updates und Wiederaufnahme sind unter [Versionierung und Releases](docs/releases.md) beschrieben. Die laufende Backend-Version liefert `/backend/version`; im Frontend steht sie unten in der Seitenleiste. diff --git a/docs/releases.md b/docs/releases.md index 8e3db49d..17763685 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -41,13 +41,13 @@ Die Pipeline nutzt die fest gepinnten Pakete `@semantic-release/commit-analyzer` Es zählt der höchste erforderliche Sprung seit dem letzten stabilen Tag `vMAJOR.MINOR.PATCH`. Eine Änderung und ihr vollständiger Git-Revert innerhalb desselben Release-Bereichs heben sich auf. Selbst verfasste Nachrichten müssen dem Schema entsprechen; echte Merge-Commits und automatisch generierte Git-Reverts werden gesondert behandelt. -Der erste Release heißt `1.0.0`. `bootstrapCommit` in `release.config.json` begrenzt die Prüfung und die erste Änderungsliste auf die Einführung dieser Versionierung. Ältere Commits werden weder umgeschrieben noch nachträglich klassifiziert. Den Ausgangscommit nach Einführung nicht ändern. +Der erste Release heißt `3.0.0`. `bootstrapCommit` in `release.config.json` begrenzt die Prüfung und die erste Änderungsliste auf die Einführung dieser Versionierung. Ältere Commits werden weder umgeschrieben noch nachträglich klassifiziert. Den Ausgangscommit nach Einführung nicht ändern. ## Versionen und Artefakte Backend, Frontend, Dokumentation, Website und zentrale Dienste werden als gemeinsamer FEDEO-Stand gebaut. Die Produktversion stammt aus Git und wird beim Build eingebettet. Backend-/Frontend-Paketversionen dienen nicht als Release-Quelle. -- Stabile Images: `…/backend:1.2.0`, `…/backend:v1.2.0` und `…/backend:sha-`; entsprechend für alle sechs Komponenten. +- Stabile Images: `…/backend:3.2.0`, `…/backend:v3.2.0` und `…/backend:sha-`; entsprechend für alle sechs Komponenten. - Bewegliche Kanäle: `latest` und `main` zeigen nach erfolgreicher Veröffentlichung auf denselben Release. - Entwicklung: `dev` sowie unveränderliche `dev-sha-`-Images. Die eingebettete Entwicklungsversion enthält Commit-Anzahl und Commit-ID. - Jeder Build erhält zunächst einen eindeutigen temporären `build-`-Tag. Diese Tags können später nach einer Aufbewahrungsfrist bereinigt werden; stabile Versionen und deren Digests müssen erhalten bleiben. @@ -65,7 +65,7 @@ Im Frontend steht die Version unten in der Seitenleiste; der Tooltip enthält de curl https://app.example.com/backend/version ``` -Beispiel: `{"product":"FEDEO","version":"1.2.0","revision":""}`. Die zentrale Instanzmeldung verwendet dieselbe Backend-Version. Bei lokalen Builds ohne Build-Argumente lautet die Version `0.0.0-dev`. +Beispiel: `{"product":"FEDEO","version":"3.2.0","revision":""}`. Die zentrale Instanzmeldung verwendet dieselbe Backend-Version. Bei lokalen Builds ohne Build-Argumente lautet die Version `0.0.0-dev`. ## Gitea einmalig vorbereiten @@ -107,20 +107,20 @@ Für einen abgebrochenen Entwicklungsbuild entsprechend `automation/dev-build-lo ## Selfhosting und Updates -Für eine Installation eines bereits veröffentlichten Releases, hier beispielhaft `1.0.0`: +Für eine Installation eines bereits veröffentlichten Releases, hier beispielhaft `3.0.0`: ```bash -curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/releases/download/v1.0.0/selfhost-install.sh -o /tmp/fedeo-install.sh +curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/releases/download/v3.0.0/selfhost-install.sh -o /tmp/fedeo-install.sh bash /tmp/fedeo-install.sh --simple --start ``` -Dieser versionierte Installer lädt die Betriebsdateien vom zugehörigen Git-Tag und schreibt `FEDEO_VERSION=1.0.0` in die neue `.env`. Vorhandene Installationen behalten ihren bisherigen Kanal, bis `FEDEO_VERSION` bewusst geändert wird. Die Dateien im Entwicklungszweig verwenden weiterhin `dev` als Rückfallwert. +Dieser versionierte Installer lädt die Betriebsdateien vom zugehörigen Git-Tag und schreibt `FEDEO_VERSION=3.0.0` in die neue `.env`. Vorhandene Installationen behalten ihren bisherigen Kanal, bis `FEDEO_VERSION` bewusst geändert wird. Die Dateien im Entwicklungszweig verwenden weiterhin `dev` als Rückfallwert. Bei einem Update: 1. Release Notes und Migrationshinweise lesen. Konsistentes Datenbankbackup (z. B. `pg_dump`) sowie Datei-/Objektspeicher und Konfiguration sichern. Ein TAR des laufenden PostgreSQL-Datenverzeichnisses ist kein verlässliches Datenbankbackup. 2. Die benötigten Betriebsdateien vom gewünschten Release herunterladen; bestehende `.env` und Daten behalten. Downloads mit dessen `SHA256SUMS` überprüfen. -3. In `/opt/fedeo/.env` die feste Zielversion setzen, z. B. `FEDEO_VERSION=1.2.0`. +3. In `/opt/fedeo/.env` die feste Zielversion setzen, z. B. `FEDEO_VERSION=3.2.0`. 4. Images laden und Dienste neu erstellen: ```bash diff --git a/release.config.json b/release.config.json index 72fa8a0d..bdea7c24 100644 --- a/release.config.json +++ b/release.config.json @@ -1,5 +1,5 @@ { - "initialVersion": "1.0.0", + "initialVersion": "3.0.0", "bootstrapCommit": "cfef07b96d97f8dffdfc32c74f8f32b62fe43b18", "branch": "main", "repositoryUrl": "https://git.federspiel.tech/flfeders/FEDEO", diff --git a/scripts/selfhost-install.sh b/scripts/selfhost-install.sh index 1e841fa7..f8e84b35 100755 --- a/scripts/selfhost-install.sh +++ b/scripts/selfhost-install.sh @@ -39,7 +39,7 @@ Mit Optionen für den Setup-Assistenten: Umgebung: FEDEO_DIR=/opt/fedeo FEDEO_REF=dev - FEDEO_REF=v1.0.0 # lädt Dateien vom unveränderlichen Release-Tag und pinnt die Images + FEDEO_REF=v3.0.0 # lädt Dateien vom unveränderlichen Release-Tag und pinnt die Images FEDEO_RAW_BASE_URL=https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev USAGE }