Skip to content

Commit 5a08ed3

Browse files
author
marci
committed
fix: auto release
1 parent 38f6f61 commit 5a08ed3

1 file changed

Lines changed: 24 additions & 3 deletions

File tree

.github/workflows/auto-release-on-push.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,17 @@ jobs:
3939
CURRENT_VERSION=$(cat VERSION 2>/dev/null || echo "0.0.0")
4040
echo "Current version: $CURRENT_VERSION"
4141
42+
# Letzten Git-Tag abrufen
43+
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
44+
LAST_TAG_VERSION=${LAST_TAG#v}
45+
echo "Last tag version: $LAST_TAG_VERSION"
46+
47+
# Höchste Version verwenden
48+
if [[ "$LAST_TAG_VERSION" > "$CURRENT_VERSION" ]]; then
49+
CURRENT_VERSION="$LAST_TAG_VERSION"
50+
echo "Using tag version as base: $CURRENT_VERSION"
51+
fi
52+
4253
# Release-Typ bestimmen basierend auf Commit-Message
4354
SHOULD_RELEASE="false"
4455
RELEASE_TYPE=""
@@ -74,6 +85,12 @@ jobs:
7485
NEW_VERSION=$(echo $CURRENT_VERSION | awk -F. '{print $1"."$2+1".0"}')
7586
fi
7687
88+
# Überprüfen ob der berechnete Tag bereits existiert
89+
if [[ "$SHOULD_RELEASE" == "true" ]] && git rev-parse "v$NEW_VERSION" >/dev/null 2>&1; then
90+
echo "Tag v$NEW_VERSION already exists, skipping release"
91+
SHOULD_RELEASE="false"
92+
fi
93+
7794
echo "should_release=$SHOULD_RELEASE" >> $GITHUB_OUTPUT
7895
echo "release_type=$RELEASE_TYPE" >> $GITHUB_OUTPUT
7996
echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT
@@ -145,9 +162,6 @@ jobs:
145162
# Via pip
146163
pip install bash-script-maker==$NEW_VERSION
147164
148-
# Via Flatpak
149-
flatpak install BashScriptMaker-$NEW_VERSION.flatpak
150-
151165
# Aus Quellcode
152166
git clone https://github.com/securebitsorg/bash-script-maker.git
153167
cd bash-script-maker
@@ -174,6 +188,13 @@ jobs:
174188
- name: Create and push tag
175189
run: |
176190
NEW_VERSION="${{ needs.check-for-release.outputs.version }}"
191+
192+
# Überprüfen ob Tag bereits existiert
193+
if git rev-parse "v$NEW_VERSION" >/dev/null 2>&1; then
194+
echo "Tag v$NEW_VERSION already exists, skipping tag creation"
195+
exit 0
196+
fi
197+
177198
git tag -a "v$NEW_VERSION" -m "Automatic release v$NEW_VERSION"
178199
git push origin main
179200
git push origin "v$NEW_VERSION"

0 commit comments

Comments
 (0)