From 5c83f1e788a35727254a25d469090a05db097cad Mon Sep 17 00:00:00 2001 From: openhands Date: Mon, 20 Jul 2026 19:44:36 +0200 Subject: [PATCH] feat: clear MANIFEST.md in pack + readable release notes (component/version/status per pack) --- .gitea/workflows/pack.yaml | 64 +++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/pack.yaml b/.gitea/workflows/pack.yaml index 1437c6f9..6e22b4d3 100644 --- a/.gitea/workflows/pack.yaml +++ b/.gitea/workflows/pack.yaml @@ -95,10 +95,13 @@ jobs: || git -C "$WORK/src/cms" pull --ff-only 2>/dev/null echo "${{ steps.check.outputs.cms_ref }}" > "$S/ref" rm -rf "$S/snapshot"; cp -r "$WORK/src/cms" "$S/snapshot" + CMS_ST="new" else cp -r "$S/snapshot" "$WORK/src/cms" echo "CMS unchanged — reused cache" + CMS_ST="cached" fi + echo "cms:$CMS_ST" >> "$WORK/status.txt" echo "cms: $(git -C "$WORK/src/cms" rev-parse --short HEAD 2>/dev/null)" | tee -a "$WORK/components.txt" - name: Catalogus (sparse) @@ -122,7 +125,10 @@ jobs: else cp -r "$S/snapshot" "$WORK/src/catalogus" echo "Catalogus unchanged — reused cache" + CAT_ST="cached" fi + [ -z "$CAT_ST" ] && CAT_ST="new" + echo "catalogus:$CAT_ST" >> "$WORK/status.txt" echo "catalogus: $(git -C "$WORK/src/catalogus" rev-parse --short HEAD 2>/dev/null)" | tee -a "$WORK/components.txt" - name: Nitro-Render-V3 @@ -147,10 +153,14 @@ jobs: rm -rf "$S/files"; mkdir -p "$S/files"; cp -r . "$S/files/" 2>/dev/null || true rm -rf "$S/files/node_modules" echo "${{ steps.check.outputs.render_ref }}" > "$S/ref" + REN_ST="new" else echo "Render unchanged — reused cache" rm -rf "$RENDER_DIR"; mkdir -p "$RENDER_DIR"; cp -r "$S/files/"* "$RENDER_DIR/" 2>/dev/null || true + REN_ST="cached" fi + [ -z "$REN_ST" ] && REN_ST="new" + echo "render:$REN_ST" >> "$WORK/status.txt" mkdir -p "$WORK/out/render"; cp -r "$S/files/"* "$WORK/out/render/" 2>/dev/null || true echo "render: $(git -C "$RENDER_DIR" rev-parse --short HEAD 2>/dev/null || echo cached)" | tee -a "$WORK/components.txt" @@ -174,9 +184,13 @@ jobs: yarn build rm -rf "$S/dist"; mkdir -p "$S/dist"; cp -r dist/* "$S/dist/" 2>/dev/null || true echo "${{ steps.check.outputs.nitro_ref }}" > "$S/ref" + NIT_ST="new" else echo "Nitro unchanged — reused cached dist" + NIT_ST="cached" fi + [ -z "$NIT_ST" ] && NIT_ST="new" + echo "nitro:$NIT_ST" >> "$WORK/status.txt" mkdir -p "$WORK/out/nitro"; cp -r "$S/dist/"* "$WORK/out/nitro/" 2>/dev/null || true echo "nitro: $(git -C "$WORK/src/nitro" rev-parse --short HEAD 2>/dev/null || echo cached)" | tee -a "$WORK/components.txt" @@ -200,9 +214,13 @@ jobs: || mvn package -q -T 1C -Dmaven.test.skip=true 2>&1 rm -f "$S"/*.jar; find target -maxdepth 1 -name 'Polaris-*-jar-with-dependencies.jar' -exec cp {} "$S/" \; 2>/dev/null || true echo "${{ steps.check.outputs.emu_ref }}" > "$S/ref" + EMU_ST="new" else echo "Emulator unchanged — reused cached jar" + EMU_ST="cached" fi + [ -z "$EMU_ST" ] && EMU_ST="new" + echo "emulator:$EMU_ST" >> "$WORK/status.txt" mkdir -p "$WORK/out/emulator"; cp "$S"/*.jar "$WORK/out/emulator/" 2>/dev/null || true echo "emulator: $(git -C "$WORK/src/emulator" rev-parse --short HEAD 2>/dev/null || echo cached)" | tee -a "$WORK/components.txt" @@ -226,6 +244,37 @@ jobs: fi done cp "$WORK/components.txt" "$WORK/out/COMPONENTS.txt" + # Build a clear, human-readable manifest at the pack root. + { + echo "# Site Pack ${PACK_VERSION}" + echo "" + echo "Generated: $(date -u)" + echo "" + echo "## Inhoud (wat zit erin)" + echo "" + echo "| Component | Map | Versie | Status |" + echo "|-----------|-----|--------|--------|" + for pair in "CMS:cms:cms" "Catalogus:catalogus:catalogus" "Nitro-V3:nitro:nitro" "Nitro-Render-V3:render:render" "Polaris Emulator:emulator:emulator"; do + label="${pair%%:*}"; d="${pair#*:}"; key="${pair##*:}" + ver="$(grep "^${key}:" "$WORK/components.txt" 2>/dev/null | head -1 | cut -d: -f2- | tr -d ' ')" + st="$(grep "^${key}:" "$WORK/status.txt" 2>/dev/null | head -1 | cut -d: -f2- | tr -d ' ')" + [ -z "$st" ] && st="new" + echo "| ${label} | ${d}/ | ${ver:-?} | ${st} |" + done + echo "" + echo "## Structuur" + echo '```' + echo "pack/" + echo "├── cms/ # EpicNext-CMS (deze repo)" + echo "├── catalogus/ # Epicnabbo-Catalogus-Updated-Daily" + echo "├── nitro/ # Nitro-V3 client build (dist)" + echo "├── render/ # Nitro-Render-V3" + echo "├── emulator/ # Polaris Emulator jar" + echo "├── MANIFEST.md # dit bestand" + echo "└── COMPONENTS.txt # raw versies" + echo '```' + } > "$WORK/out/MANIFEST.md" + cp "$WORK/out/MANIFEST.md" "$WORK/out/COMPONENTS.txt" echo "Built at $(date -u)" > "$WORK/out/BUILD_INFO.txt" cat "$WORK/components.txt" >> "$WORK/out/BUILD_INFO.txt" PACK_FILE="/tmp/${PACK_VERSION}.tar.gz" @@ -243,17 +292,24 @@ jobs: { echo "## Site Pack ${PACK_VERSION}" echo "" - echo "### Component versions" + echo "Volledige pack met alle componenten. Zie het bijgevoegde \`MANIFEST.md\` in de download voor de exacte versies per component." + echo "" + echo "### Wat zit erin (deze pack)" echo '```' - cat "$WORK/components.txt" + while IFS= read -r line; do + key="${line%%:*}"; rest="${line#*: }" + st="$(grep "^${key}:" "$WORK/status.txt" 2>/dev/null | head -1 | cut -d: -f2- | tr -d ' ')" + [ -z "$st" ] && st="new" + printf "%-12s %s [%s]\n" "$key" "$rest" "$st" + done < "$WORK/components.txt" echo '```' echo "" - echo "### Changes since pack ${PREV_NOTE}" + echo "### Wat is nieuw sinds pack ${PREV_NOTE}" for pair in "cms:$WORK/src/cms" "catalogus:$WORK/src/catalogus" "nitro:$WORK/src/nitro" "render:$WORK/src/Nitro_Render_V3" "emulator:$WORK/src/emulator"; do label="${pair%%:*}"; repo="${pair##*:}" echo "**${label}**" echo '```' - git -C "$repo" log --oneline --no-decorate -10 2>/dev/null || echo "n/a" + git -C "$repo" log --oneline --no-decorated -10 2>/dev/null || echo "n/a" echo '```' done } > /tmp/pack-body.md