diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 3253878..da8f230 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -3,6 +3,7 @@ name: Build & Deploy on: push: branches: [main] + tags: ["v*"] env: REGISTRY: gitea.nautilus.marcusgroup.org @@ -21,13 +22,34 @@ jobs: docker login ${{ env.REGISTRY }} \ -u "${{ secrets.REGISTRY_USER }}" --password-stdin - - name: Build and push image + - name: Build and tag image run: | - TAG="${{ env.REGISTRY }}/${{ env.IMAGE }}:latest" - SHA_TAG="${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ github.sha }}" - docker build -t "$TAG" -t "$SHA_TAG" . - docker push "$TAG" - docker push "$SHA_TAG" + BASE="${{ env.REGISTRY }}/${{ env.IMAGE }}" + TAGS="-t ${BASE}:latest -t ${BASE}:build-${{ github.run_number }}" + + # If this is a version tag (v*), add the semver tag + REF="${{ github.ref }}" + if [[ "$REF" == refs/tags/v* ]]; then + VERSION="${REF#refs/tags/}" + TAGS="$TAGS -t ${BASE}:${VERSION}" + echo "📦 Release: ${VERSION}" + fi + + echo "🏗️ Building with tags: build-${{ github.run_number }}, latest" + docker build $TAGS . + + - name: Push image + run: | + BASE="${{ env.REGISTRY }}/${{ env.IMAGE }}" + docker push "${BASE}:latest" + docker push "${BASE}:build-${{ github.run_number }}" + + REF="${{ github.ref }}" + if [[ "$REF" == refs/tags/v* ]]; then + VERSION="${REF#refs/tags/}" + docker push "${BASE}:${VERSION}" + echo "✅ Pushed ${VERSION}" + fi - name: Trigger Coolify redeploy run: |