diff options
author | skjnldsv <skjnldsv@protonmail.com> | 2025-06-05 12:39:14 +0200 |
---|---|---|
committer | skjnldsv <skjnldsv@protonmail.com> | 2025-06-05 12:39:14 +0200 |
commit | 9fd60901943399333302f06f7ce3169aab3d094e (patch) | |
tree | 95670ca08960920b4d81b15dd99c73303054ddfd | |
parent | 609c25acfc0466d91cdd70b9dc8e705119043724 (diff) | |
download | nextcloud-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.yml | 16 |
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 |