diff --git a/.gitea/workflows/ci-cd.yaml b/.gitea/workflows/ci-cd.yaml index 4f8f744..637b667 100644 --- a/.gitea/workflows/ci-cd.yaml +++ b/.gitea/workflows/ci-cd.yaml @@ -308,54 +308,20 @@ jobs: - # Docker push job - runs on host environment - docker-push: - name: Docker Push + # Trigger Docker push workflow on main branch + trigger-docker-push: + name: Trigger Docker Push needs: [build-cache, ci-pipeline] runs-on: ubuntu-latest-ca if: "!contains(github.event.head_commit.message, '[skip ci]') && github.actor != 'ci-bot' && github.ref == 'refs/heads/main'" steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Login to Gitea Container Registry - uses: docker/login-action@v3 - with: - registry: ${{ env.CI_REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.PACKAGES_TOKEN }} - - - name: Build and push Docker image + - name: Trigger Docker Push Workflow run: | - source VERSION - IMAGE_VERSION="$MAJOR.$MINOR.$PATCH${PRERELEASE:+-$PRERELEASE}" - - # Use the template file with proper dependency hash replacement - DEPS_HASH="${{ needs.build-cache.outputs.deps_hash }}" - echo "Using dependency hash: $DEPS_HASH" - - # Create Dockerfile.prod from template - sed "s/{{DEPS_HASH}}/$DEPS_HASH/g" docker/Dockerfile.prod.template > docker/Dockerfile.prod - - TAGS="$IMAGE_VERSION latest ${{ github.sha }}" - echo "Building Docker image with tags: $TAGS" - - # Build the production image - docker build -t dance-lessons-coach -f docker/Dockerfile.prod . - - for TAG in $TAGS; do - IMAGE_NAME="${{ env.CI_REGISTRY }}/${{ env.GITEA_ORG }}/${{ env.GITEA_REPO }}:$TAG" - echo "Tagging and pushing: $IMAGE_NAME" - docker tag dance-lessons-coach "$IMAGE_NAME" - docker push "$IMAGE_NAME" - done - - - name: Show published images - run: | - source VERSION - IMAGE_VERSION="$MAJOR.$MINOR.$PATCH${PRERELEASE:+-$PRERELEASE}" - echo "📦 Published Docker images:" - echo " - ${{ env.CI_REGISTRY }}/${{ env.GITEA_ORG }}/${{ env.GITEA_REPO }}:$IMAGE_VERSION" - echo " - ${{ env.CI_REGISTRY }}/${{ env.GITEA_ORG }}/${{ env.GITEA_REPO }}:latest" - echo " - ${{ env.CI_REGISTRY }}/${{ env.GITEA_ORG }}/${{ env.GITEA_REPO }}:${{ github.sha }}" + echo "🚀 Triggering Docker Push workflow..." + curl -X POST \ + -H "Authorization: token ${{ secrets.GITEA_TOKEN || secrets.PACKAGES_TOKEN }}" \ + -H "Content-Type: application/json" \ + "${{ env.GITEA_INTERNAL }}api/v1/repos/${{ env.GITEA_ORG }}/${{ env.GITEA_REPO }}/actions/workflows/docker-push.yaml/dispatches" \ + -d '{"ref":"${{ github.ref }}","inputs":{"deps_hash":"${{ needs.build-cache.outputs.deps_hash }}","ref":"${{ github.ref }}"}}' + echo "✅ Docker Push workflow triggered successfully!"