feat(scripts): add CI utilities for versioning and changelog

- Add scripts to detect version changes and generate changelogs
- Include setup for installing and configuring git-cliff
- Automate release creation and changelog updates for CI workflows
- Improve Git author setup for consistent commits
This commit is contained in:
2025-06-14 18:36:15 +02:00
parent 14f0a9b4b1
commit 048b964204
6 changed files with 240 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
#!/usr/bin/env bash
set -euo pipefail
# === Inputs from GitHub/Gitea Action environment ===
GIT_REF="${GITHUB_REF:-}"
COMMIT_BEFORE="${GITHUB_EVENT_BEFORE:-}"
COMMIT_AFTER="${GITHUB_SHA:-}"
VERSION_FILE="VERSION"
echo "🔍 Comparing commits:"
echo "Before: $COMMIT_BEFORE"
echo "After: $COMMIT_AFTER"
# === Check branch condition ===
if [[ "$GIT_REF" != "refs/heads/main" ]]; then
echo "Not on 'main' branch – skipping version check."
echo "version_changed=false" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "📄 Changed files:"
git diff --name-only "$COMMIT_BEFORE" "$COMMIT_AFTER" || echo "(diff failed)"
if git diff --name-only "$COMMIT_BEFORE" "$COMMIT_AFTER" | grep -q "^$VERSION_FILE$"; then
echo "✅ VERSION file was changed"
echo "VERSION_CHANGED=true" >> "$GITHUB_ENV"
echo "version_changed=true" >> "$GITHUB_OUTPUT"
else
echo "ℹ️ VERSION file not changed"
echo "VERSION_CHANGED=false" >> "$GITHUB_ENV"
echo "version_changed=false" >> "$GITHUB_OUTPUT"
fi