diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index d4cbea4..beff8c6 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -26,28 +26,48 @@ jobs: RAW_VERSION="${TAG#v}" BASE_VERSION="${RAW_VERSION%%-*}" - case "$TAG" in - *-testing*|*-t|*-T) - CHANNEL="testing" - PRERELEASE="true" - VERSION="${BASE_VERSION}-testing" - ;; - *-*) - CHANNEL="unstable" - PRERELEASE="true" - VERSION="${BASE_VERSION}-unstable" - ;; - *) + # Volles Repo auschecken, damit wir Branch-Info haben + git fetch --all --tags + + # Branch ermitteln, auf dem der Tag liegt + BRANCH=$(git branch -r --contains "$TAG" | grep -v 'HEAD' | head -n1 | sed 's|origin/||') + echo "Branch des Tags: $BRANCH" + + # Channel und Suffix automatisch bestimmen + case "$BRANCH" in + main) CHANNEL="stable" PRERELEASE="false" - VERSION="${BASE_VERSION}" + SUFFIX="" + ;; + testing) + CHANNEL="testing" + PRERELEASE="true" + SUFFIX="-testing" + ;; + unstable) + CHANNEL="unstable" + PRERELEASE="true" + SUFFIX="-unstable" + ;; + *) + # unbekannter Branch -> default unstable + CHANNEL="unstable" + PRERELEASE="true" + SUFFIX="-unstable" ;; esac + # Version zusammensetzen + VERSION="${BASE_VERSION}${SUFFIX}" + + # Output setzen echo "version=$VERSION" >> $GITHUB_OUTPUT echo "channel=$CHANNEL" >> $GITHUB_OUTPUT echo "prerelease=$PRERELEASE" >> $GITHUB_OUTPUT - echo "version=$VERSION" - echo "channel=$CHANNEL" - echo "prerelease=$PRERELEASE" \ No newline at end of file + # Debug + echo "Tag: $TAG" + echo "Version: $VERSION" + echo "Channel: $CHANNEL" + echo "Prerelease: $PRERELEASE" \ No newline at end of file