Files
auto-changelog-release-action/scripts/detect-version-change.sh
Max P. 1d9659b6df feat(action): add support for non-main branch releases
- Introduce an input to allow releases from non-main branches
- Update logic to conditionally permit version checks outside 'main'
2025-06-29 14:09:24 +02:00

36 lines
1.2 KiB
Bash
Executable File

#!/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"
ALLOW_NON_MAIN_RELEASE="${ALLOW_NON_MAIN_RELEASE:-false}"
echo "🔍 Comparing commits:"
echo "Before: $COMMIT_BEFORE"
echo "After: $COMMIT_AFTER"
echo "Ref: $GIT_REF"
echo "Allow release from non-main branches: $ALLOW_NON_MAIN_RELEASE"
# Check branch condition
if [[ "$ALLOW_NON_MAIN_RELEASE" != "true" && "$GIT_REF" != "refs/heads/main" ]]; then
echo "🚫 Not on 'main' branch and non-main releases are disabled – 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