aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskjnldsv <skjnldsv@protonmail.com>2025-06-05 12:39:14 +0200
committerskjnldsv <skjnldsv@protonmail.com>2025-06-05 12:39:14 +0200
commit9fd60901943399333302f06f7ce3169aab3d094e (patch)
tree95670ca08960920b4d81b15dd99c73303054ddfd
parent609c25acfc0466d91cdd70b9dc8e705119043724 (diff)
downloadnextcloud-server-9fd60901943399333302f06f7ce3169aab3d094e.tar.gz
nextcloud-server-9fd60901943399333302f06f7ce3169aab3d094e.zip
fix(workflows): releases changelog generator tags handlingfix/release-gen-changelog
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
-rw-r--r--.github/workflows/generate-release-changelog.yml16
1 files changed, 12 insertions, 4 deletions
diff --git a/.github/workflows/generate-release-changelog.yml b/.github/workflows/generate-release-changelog.yml
index 1660b77d974..b8d8e130ba8 100644
--- a/.github/workflows/generate-release-changelog.yml
+++ b/.github/workflows/generate-release-changelog.yml
@@ -42,12 +42,20 @@ jobs:
run: |
cd server
# Print all tags
- git log --decorate --oneline | egrep '^[0-9a-f]+ \((HEAD, )?tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\)].+$/\1/g'
+ git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g'
# Get the current tag
- TAGS=$(git log --decorate --oneline | egrep '^[0-9a-f]+ \((HEAD, )?tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\)].+$/\1/g')
+ TAGS=$(git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g')
CURRENT_TAG=$(echo "$TAGS" | head -n 1)
- # Get the previous tag that is not an rc, beta or alpha
- PREVIOUS_TAG=$(echo "$TAGS" | grep -v 'rc\|beta\|alpha' | sed -n '2p')
+
+ # Get the previous tag - filter pre-releases only if current tag is stable
+ if echo "$CURRENT_TAG" | grep -q 'rc\|beta\|alpha'; then
+ # Current tag is pre-release, don't filter
+ PREVIOUS_TAG=$(echo "$TAGS" | sed -n '2p')
+ else
+ # Current tag is stable, filter out pre-releases
+ PREVIOUS_TAG=$(echo "$TAGS" | grep -v 'rc\|beta\|alpha' | sed -n '2p')
+ fi
+
echo "CURRENT_TAG=$CURRENT_TAG" >> $GITHUB_ENV
echo "PREVIOUS_TAG=$PREVIOUS_TAG" >> $GITHUB_ENV