diff --git a/.gitea/workflows/deploy-bcards.yml b/.gitea/workflows/deploy-bcards.yml index fc2f60c..1e00f60 100644 --- a/.gitea/workflows/deploy-bcards.yml +++ b/.gitea/workflows/deploy-bcards.yml @@ -5,8 +5,10 @@ on: branches: - main - 'Release/*' + # PRs apenas validam, não fazem deploy pull_request: branches: [ main ] + types: [opened, synchronize, reopened] env: REGISTRY: registry.redecarneir.us @@ -66,11 +68,31 @@ jobs: if: env.TESTS_SKIPPED == 'false' run: dotnet test --no-build --configuration Release --verbosity normal --collect:"XPlat Code Coverage" + # Job específico para validação de PRs (sem deploy) + pr-validation: + name: PR Validation + runs-on: ubuntu-latest + needs: [test] + if: github.event_name == 'pull_request' + + steps: + - name: PR Validation Summary + run: | + echo "✅ Pull Request Validation Summary" + echo "🎯 Target Branch: ${{ github.base_ref }}" + echo "📂 Source Branch: ${{ github.head_ref }}" + echo "🧪 Tests: ${{ needs.test.result }}" + echo "👤 Author: ${{ github.event.pull_request.user.login }}" + echo "📝 Title: ${{ github.event.pull_request.title }}" + echo "" + echo "✨ PR está pronto para merge!" + build-and-push: name: Build and Push Image runs-on: ubuntu-latest needs: [test] - if: always() && (needs.test.result == 'success' || needs.test.result == 'skipped') + # Só faz build/push em push (não em PR) + if: github.event_name == 'push' && (needs.test.result == 'success' || needs.test.result == 'skipped') steps: - name: Checkout code @@ -111,20 +133,25 @@ jobs: SHORT_COMMIT=${COMMIT_SHA:0:7} echo "commit=$SHORT_COMMIT" >> $GITHUB_OUTPUT - echo "📦 Tag: $(echo '${{ steps.settings.outputs.tag }}')" - echo "🏗️ Platform: $(echo '${{ steps.settings.outputs.platform }}')" - echo "🌍 Environment: $(echo '${{ steps.settings.outputs.environment }}')" - echo "🎯 Target: $(echo '${{ steps.settings.outputs.deploy_target }}')" + echo "📦 Tag: ${{ steps.settings.outputs.tag }}" + echo "🏗️ Platform: ${{ steps.settings.outputs.platform }}" + echo "🌍 Environment: ${{ steps.settings.outputs.environment }}" + echo "🎯 Target: ${{ steps.settings.outputs.deploy_target }}" - name: Build and push image run: | echo "🏗️ Building image for ${{ steps.settings.outputs.deploy_target }}..." + # Debug das variáveis + echo "Platform: ${{ steps.settings.outputs.platform }}" + echo "Dockerfile: ${{ steps.settings.outputs.dockerfile }}" + echo "Tag: ${{ steps.settings.outputs.tag }}" + # Build para a plataforma correta docker buildx build \ --platform ${{ steps.settings.outputs.platform }} \ --file ${{ steps.settings.outputs.dockerfile }} \ - --tag $REGISTRY/$IMAGE_NAME:${{ steps.settings.outputs.tag }} \ + --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.settings.outputs.tag }} \ --push \ --build-arg VERSION=${{ steps.settings.outputs.version || 'latest' }} \ --build-arg COMMIT=${{ steps.settings.outputs.commit }} \