From c5e1b61eb412aadfa051f4b339387e8e64545f12 Mon Sep 17 00:00:00 2001 From: Gabriel Radureau Date: Thu, 9 Apr 2026 09:51:51 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20revert=20to=20single=20wo?= =?UTF-8?q?rkflow=20approach=20for=20Gitea=20Actions=20compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci-cd.yaml | 61 +++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/.gitea/workflows/ci-cd.yaml b/.gitea/workflows/ci-cd.yaml index 2e5f2ff..4f8f744 100644 --- a/.gitea/workflows/ci-cd.yaml +++ b/.gitea/workflows/ci-cd.yaml @@ -308,25 +308,54 @@ jobs: - # Trigger Docker push workflow on main branch - trigger-docker-push: - name: Trigger Docker Push + # Docker push job - runs on host environment + docker-push: + name: 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: Trigger Docker Push Workflow - uses: actions/github-script@v6 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Login to Gitea Container Registry + uses: docker/login-action@v3 with: - script: | - await github.rest.actions.createWorkflowDispatch({ - owner: 'arcodange', - repo: 'dance-lessons-coach', - workflow_id: 'docker-push.yaml', - ref: 'main', - inputs: { - deps_hash: '${{ needs.build-cache.outputs.deps_hash }}', - ref: 'main' - } - }); + registry: ${{ env.CI_REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.PACKAGES_TOKEN }} + + - name: Build and push Docker image + 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 }}"