--- # dance-lessons-coach Docker Push Workflow # Separate workflow for Docker image building and pushing # Can be triggered manually or by CI/CD workflow name: Docker Push on: workflow_dispatch: inputs: ref: description: 'Git reference (branch/tag)' required: false type: string default: '' push: branches: - main paths-ignore: - 'README.md' - 'AGENTS.md' - 'CHANGELOG.md' - 'AGENT_CHANGELOG.md' - 'documentation/**' - 'adr/**' - 'chart/**' - 'features/**' # Environment variables env: GITEA_INTERNAL: "https://gitea.arcodange.lab/" GITEA_EXTERNAL: "https://gitea.arcodange.fr/" GITEA_ORG: "arcodange" GITEA_REPO: "dance-lessons-coach" CI_REGISTRY: "gitea.arcodange.lab" jobs: docker-push: name: Docker Push runs-on: ubuntu-latest-ca steps: - name: Checkout code uses: actions/checkout@v4 with: ref: ${{ github.event.inputs.ref || github.ref }} - 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 run: | source VERSION IMAGE_VERSION="$MAJOR.$MINOR.$PATCH${PRERELEASE:+-$PRERELEASE}" TAGS="$IMAGE_VERSION latest ${{ github.sha }}" echo "Building Docker image with tags: $TAGS" # Build using the standard Dockerfile (Attempt 2 - simplest approach) docker build -t dance-lessons-coach -f docker/Dockerfile . 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 }}"