From edda56953663242e0a5a9482d2380a6b8a0afafe Mon Sep 17 00:00:00 2001 From: Iris Date: Tue, 9 Jun 2026 20:04:36 +0200 Subject: [PATCH] ci: Version-Bump-Semantik im Deploy-Workflow --- .gitea/workflows/deploy.yaml | 54 ++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 496f6e6..9c648ca 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -1,9 +1,18 @@ name: Deploy to Production -run-name: 🚀 Deploy by @${{ gitea.actor }} +run-name: 🚀 Deploy ${{ inputs.bump_version || 'patch' }} by @${{ gitea.actor }} on: workflow_dispatch: inputs: + bump_version: + description: 'Version bump (Major=x.0.0, Minor=1.x.0 features, Patch=1.0.x fixes)' + required: false + default: 'patch' + type: string + options: + - 'patch' + - 'minor' + - 'major' service: description: 'Service to deploy (empty = all)' required: false @@ -36,6 +45,47 @@ jobs: --exclude='frontend/node_modules' \ ${{ gitea.workspace }}/ /workspace/nexus/ + - name: Version Bump + working-directory: /workspace/nexus + run: | + # Read current version + CURRENT_VERSION=$(cat VERSION) + echo "📦 Current version: $CURRENT_VERSION" + + # Parse major.minor.patch + MAJOR=$(echo $CURRENT_VERSION | cut -d. -f1) + MINOR=$(echo $CURRENT_VERSION | cut -d. -f2) + PATCH=$(echo $CURRENT_VERSION | cut -d. -f3) + + # Bump according to input + case "${{ inputs.bump_version }}" in + major) + MAJOR=$((MAJOR + 1)) + MINOR=0 + PATCH=0 + ;; + minor) + MINOR=$((MINOR + 1)) + PATCH=0 + ;; + patch|*) + PATCH=$((PATCH + 1)) + ;; + esac + + NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}" + echo "🏷️ New version: $NEW_VERSION" + echo "$NEW_VERSION" > VERSION + + # Commit & push version bump + git config user.email "devops@noveria.net" + git config user.name "DevOps" + git add VERSION + git commit -m "chore: bump version to v${NEW_VERSION} [skip ci]" + git tag "v${NEW_VERSION}" + git push "https://devops:${{ secrets.GIT_TOKEN }}@git.noveria.net/bao/nexus.git" HEAD:main --tags + echo "✅ Version bumped to v${NEW_VERSION}" + - name: Set up Docker Buildx run: docker buildx create --use 2>/dev/null || true @@ -46,7 +96,7 @@ jobs: if [ "${{ inputs.no_cache }}" = "true" ]; then BUILD_ARGS="--no-cache" fi - + if [ -n "${{ inputs.service }}" ]; then echo "🚀 Deploying service: ${{ inputs.service }}" docker compose build $BUILD_ARGS ${{ inputs.service }}