name: Laravel CI-CD (Gitea) on: push: branches: [ "main" ] jobs: test: name: "Tests Unitaires" runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Run Tests uses: docker://laravelsail/php84-composer:latest env: APP_ENV: testing APP_KEY: base64:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= DB_CONNECTION: sqlite DB_DATABASE: ":memory:" with: args: | bash -c "composer install --no-interaction && php artisan test" build: name: "Build & Push Docker" needs: test if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Login to Gitea Registry # CORRECTION ICI : Le bon nom de l'action uses: docker/login-action@v3 with: registry: ${{ github.server_url }} username: ${{ github.actor }} password: ${{ secrets.TOKEN_GITEA }} - name: Build and Push run: | # On extrait le domaine du serveur (ex: gitea.leonmorival.com) REGISTRY=$(echo "${{ github.server_url }}" | sed -e 's|https://||') IMAGE="$REGISTRY/${{ github.repository }}:latest" docker build -t "$IMAGE" . docker push "$IMAGE" deploy: name: "Déploiement Portainer" needs: build if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Trigger Portainer Webhook run: | curl -X POST "${{ secrets.PORTAINER_WEBHOOK_URL }}"