diff --git a/.github/workflows/run-obs.yml b/.github/workflows/run-obs.yml index 64504d93..e53a148e 100644 --- a/.github/workflows/run-obs.yml +++ b/.github/workflows/run-obs.yml @@ -171,7 +171,52 @@ jobs: DATE_STR=$(date "+%a %b %d %Y") CHANGELOG_ENTRY="* $DATE_STR Avenge Media - ${NEW_VERSION}-1\n- Git snapshot (commit $COMMIT_COUNT: $COMMIT_HASH)" sed -i "/%changelog/a\\$CHANGELOG_ENTRY" distro/opensuse/dms-git.spec - + + - name: Update Debian dms-git changelog version + if: contains(steps.packages.outputs.packages, 'dms-git') || steps.packages.outputs.packages == 'all' + run: | + # Get commit info for dms-git versioning + COMMIT_HASH=$(git rev-parse --short=8 HEAD) + COMMIT_COUNT=$(git rev-list --count HEAD) + BASE_VERSION=$(grep -oP '^Version:\s+\K[0-9.]+' distro/opensuse/dms.spec | head -1 || echo "0.6.2") + + # Debian version format: 0.6.2+git2256.9162e314 + NEW_VERSION="${BASE_VERSION}+git${COMMIT_COUNT}.${COMMIT_HASH}" + echo "📦 Updating Debian dms-git changelog to version: $NEW_VERSION" + + CHANGELOG_DATE=$(date -R) + + CHANGELOG_FILE="distro/debian/dms-git/debian/changelog" + + # Get current version from changelog + CURRENT_VERSION=$(head -1 "$CHANGELOG_FILE" | sed 's/.*(\([^)]*\)).*/\1/') + + echo "Current Debian version: $CURRENT_VERSION" + echo "New version: $NEW_VERSION" + + # Only update if version changed + if [ "$CURRENT_VERSION" != "$NEW_VERSION" ]; then + # Create new changelog entry at top + TEMP_CHANGELOG=$(mktemp) + + cat > "$TEMP_CHANGELOG" << EOF + dms-git ($NEW_VERSION) nightly; urgency=medium + + * Git snapshot (commit $COMMIT_COUNT: $COMMIT_HASH) + + -- Avenge Media $CHANGELOG_DATE + + EOF + + # Prepend to existing changelog + cat "$CHANGELOG_FILE" >> "$TEMP_CHANGELOG" + mv "$TEMP_CHANGELOG" "$CHANGELOG_FILE" + + echo "✓ Updated Debian changelog: $CURRENT_VERSION → $NEW_VERSION" + else + echo "✓ Debian changelog already at version $NEW_VERSION" + fi + - name: Update dms stable version if: steps.packages.outputs.version != '' run: | diff --git a/distro/scripts/obs-upload.sh b/distro/scripts/obs-upload.sh index 4d06bb86..c03ce068 100755 --- a/distro/scripts/obs-upload.sh +++ b/distro/scripts/obs-upload.sh @@ -169,6 +169,7 @@ fi CHANGELOG_VERSION="" if [[ -d "distro/debian/$PACKAGE/debian" ]]; then + # Format: 0.6.2+git{COMMIT_COUNT}.{COMMIT_HASH} (e.g., 0.6.2+git2256.9162e314) CHANGELOG_VERSION=$(grep -m1 "^$PACKAGE" "distro/debian/$PACKAGE/debian/changelog" 2>/dev/null | sed 's/.*(\([^)]*\)).*/\1/' || echo "") if [[ -n "$CHANGELOG_VERSION" ]] && [[ "$CHANGELOG_VERSION" == *"-"* ]]; then SOURCE_FORMAT_CHECK=$(cat "distro/debian/$PACKAGE/debian/source/format" 2>/dev/null || echo "3.0 (quilt)")