From fabac778773bb6b56037c63595040cc56011b21f Mon Sep 17 00:00:00 2001 From: AIIrondev Date: Wed, 20 May 2026 16:34:30 +0200 Subject: [PATCH] feat: Add major version bump option and update release options documentation --- .github/workflows/release-docker.yml | 1 + RELEASE_OPTIONS.md | 38 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 RELEASE_OPTIONS.md diff --git a/.github/workflows/release-docker.yml b/.github/workflows/release-docker.yml index e6b74c6..dd953f4 100644 --- a/.github/workflows/release-docker.yml +++ b/.github/workflows/release-docker.yml @@ -14,6 +14,7 @@ on: options: - patch - minor + - major - development push_dev: description: "If true, push the :dev image to GHCR for development releases" diff --git a/RELEASE_OPTIONS.md b/RELEASE_OPTIONS.md new file mode 100644 index 0000000..da8dab3 --- /dev/null +++ b/RELEASE_OPTIONS.md @@ -0,0 +1,38 @@ +Release-Optionen +================= + +Diese Datei beschreibt die Eingabeoptionen des CI-Workflows `.github/workflows/release-docker.yml`. + +Inputs (workflow_dispatch) +- `bump` (choice) + - `patch` (Standard): Erhöht nur die Patch-Version (vX.Y.Z -> vX.Y.Z+1). + - `minor`: Erhöht die Minor-Version und setzt Patch auf 0 (vX.Y.Z -> vX.Y+1.0). + - `major`: Erhöht die Major-Version und setzt Minor/Patch auf 0 (vX.Y.Z -> vX+1.0.0). + - `development`: Erzeugt einen Development-Release mit Suffix `-dev` (z. B. `v3.1.4-dev`). + +- `push_dev` (choice, optional) + - `false` (Standard): Bei `bump=development` wird das `:dev`-Image NICHT automatisch an GHCR gepusht. + - `true`: Bei `bump=development` wird zusätzlich das Image `ghcr.io/aiirondev/legendary-octo-garbanzo:dev` gepusht. + +Verhalten/Anmerkungen +- Development releases werden als GitHub Release erzeugt und als `prerelease` markiert, damit sie nicht automatisch von normalen Update‑Flows genutzt werden. +- Es gibt pro Release genau einen Release‑Eintrag (für Dev‑Releases mit `-dev` Suffix). Es wird kein separates `inventarsystem-image-dev.tar.gz` mehr erzeugt; das Update/Deployment erfolgt über den Release‑Tag / Image‑Tag. +- `update.sh` unterstützt weiterhin `dev`/`development`-Modus und akzeptiert nun auch explizite Release‑Tags wie `v3.1.4-dev`. + +Beispiele +- Patch-Release (manuell): + - GitHub UI: Run workflow → `bump=patch` + - CLI mit `gh`: + gh workflow run release-docker.yml --repo AIIrondev/legendary-octo-garbanzo --field bump=patch + +- Development prerelease (ohne Push des :dev Images): + - GitHub UI: Run workflow → `bump=development` (leave `push_dev=false`) + - Ergebnis: Release `vX.Y.Z-dev` als prerelease, Image wird nicht automatisch als `:dev` gepusht. + +- Development prerelease + push des :dev Images: + - GitHub UI: Run workflow → `bump=development`, `push_dev=true` + - CLI Beispiel: + gh workflow run release-docker.yml --repo AIIrondev/legendary-octo-garbanzo --field bump=development --field push_dev=true + +Empfehlung +- Verwende `bump=development` für experimentelle/early releases; Nutzer müssen explizit `./update.sh vX.Y.Z-dev` ausführen, um auf diese Version zu upgraden.