From 700459085b9ec4a178d3feba6bdd1943676a09d4 Mon Sep 17 00:00:00 2001 From: viewit Date: Sun, 28 Jun 2026 19:05:20 +0200 Subject: [PATCH] fix(ci): Nightly-Changelog dynamisch aus Git-Log generieren (Delta seit letztem Tag) CHANGES.md war statisch und zeigte immer denselben alten Stand. Jetzt: git log ..HEAD, chore-Nightly-Commits rausgefiltert, englisch, nur echte feat/fix/docs-Commits. --- .gitea/workflows/nightly.yml | 28 ++++++++++++++++++---------- CHANGES.md | 33 --------------------------------- 2 files changed, 18 insertions(+), 43 deletions(-) delete mode 100644 CHANGES.md diff --git a/.gitea/workflows/nightly.yml b/.gitea/workflows/nightly.yml index c7c0de9..99fa875 100644 --- a/.gitea/workflows/nightly.yml +++ b/.gitea/workflows/nightly.yml @@ -85,18 +85,26 @@ jobs: git config user.name "gitea-actions" git config user.email "actions@it-drui.de" - # Changelog aus CHANGES.md lesen (wird von release.sh aus dem Dev-Repo generiert) + # Changelog dynamisch aus Git-Log seit letztem nightly-Tag generieren BODY_FILE=$(mktemp) - if [ -f CHANGES.md ]; then - cat CHANGES.md > "$BODY_FILE" - else - # Fallback falls CHANGES.md fehlt - printf '## KX-Bridge %s -- Nightly Build\n\n' "$VERSION" > "$BODY_FILE" - printf '[experimentell] Ungetestete Features, nur fuer Tester geeignet.\n\n' >> "$BODY_FILE" - printf '- Automatischer Nightly-Build\n\n---\n\n' >> "$BODY_FILE" - printf '### Docker-Image aktualisieren\n\n```bash\ndocker compose pull && docker compose up -d\n```\n\n' >> "$BODY_FILE" - printf 'Image-Tag: `gitea.it-drui.de/viewit/kx-bridge:nightly`\n' >> "$BODY_FILE" + PREV_TAG=$(git tag --list 'nightly-*' --sort=-version:refname | grep -v "^nightly-${VERSION}$" | head -1) + if [ -z "$PREV_TAG" ]; then + PREV_TAG=$(git tag --list 'v*' --sort=-version:refname | head -1) fi + printf '## KX-Bridge %s — Nightly Build\n\n' "$VERSION" > "$BODY_FILE" + printf '[experimental] Untested features, for testers only.\n\n' >> "$BODY_FILE" + if [ -n "$PREV_TAG" ]; then + printf '### Changes since `%s`\n\n' "$PREV_TAG" >> "$BODY_FILE" + git log "${PREV_TAG}..HEAD" --pretty=format:'- %s' \ + --no-merges \ + --invert-grep --grep='^chore: nightly' \ + --invert-grep --grep='^chore: releases/' \ + >> "$BODY_FILE" || true + else + printf '### Changes\n\n- Initial nightly build\n' >> "$BODY_FILE" + fi + printf '\n\n---\n\n### Update Docker image\n\n```bash\ndocker compose pull && docker compose up -d\n```\n\n' >> "$BODY_FILE" + printf 'Image tag: `gitea.it-drui.de/viewit/kx-bridge:nightly`\n' >> "$BODY_FILE" # Tag setzen git tag -f "$TAG" diff --git a/CHANGES.md b/CHANGES.md deleted file mode 100644 index e383ec9..0000000 --- a/CHANGES.md +++ /dev/null @@ -1,33 +0,0 @@ -## KX-Bridge 0.9.27-nightly9 — Nightly Build - -[experimentell] Ungetestete Features, nur für Tester geeignet. - -### Änderungen seit `v0.9.26` - -- fix(spoolman): Status-Dot beim Seitenload initialisieren -- chore: CHANGES.md mit echtem Changelog aus Dev-Repo ins Release-Repo schreiben -- fix(spoolman): SPOOLMAN_* env-Cache bei Restart leeren, Status-Dot nach Save aktualisieren -- chore: README.es.md + CONTRIBUTING.md in release.sh-Sync aufnehmen -- docs: Nightly-Sektion, Wartungshinweis + CONTRIBUTING.md, FR/IT-Sprachen, Downloads-Badge -- fix(update): Nightly-Vergleich auf Versions-String umstellen (statt Datum) -- feat(update): Nightly-Track vom Stable-Track trennen -- fix(release): nightly immer auf nightly-Branch pushen, kein master-Push -- fix(camera): exponentielles Backoff bei ffmpeg-Fehler + /api/camera/reset + ↺-Button -- fix(release): Nightly-Release vom nightly-Branch erlauben -- feat(i18n): fehlende UI-Übersetzungen ergänzt + Keys alphabetisch sortiert (PR #70 @fenopy) -- fix: config/config.ini.example beim Release-Sync mitübertragen (Issue #72) -- feat(ui): Integrationen-Tab in Settings (Spoolman + Obico-Hinweis) -- feat(stack): KobraX Full Stack Compose für Portainer (KX-Bridge + Obico + Spoolman) -- feat(release): Nightly/Stable Release-Workflow mit eigenem Docker-Tag -- feat(spoolman): optionale Spoolman-Filamentverbrauch-Integration (PR #65, @p2l) -- fix(release): Artifact-Download per HTTP statt lokalem Dateipfad - ---- - -### Docker-Image aktualisieren - -```bash -docker compose pull && docker compose up -d -``` - -Image-Tag: `gitea.it-drui.de/viewit/kx-bridge:nightly`