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 --ignore-platform-req=ext-intl && php artisan test" build: name: "Build & Push Docker" needs: test runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Login to Gitea Registry run: | REGISTRY_DOMAIN=$(echo "${{ github.server_url }}" | sed -e 's|https://||' -e 's|http://||') echo "${{ secrets.TOKEN_GITEA }}" | docker login "$REGISTRY_DOMAIN" -u "${{ github.actor }}" --password-stdin - name: Build and Push run: | REGISTRY_DOMAIN=$(echo "${{ github.server_url }}" | sed -e 's|https://||' -e 's|http://||') IMAGE="$REGISTRY_DOMAIN/${{ github.repository }}:latest" docker build -t "$IMAGE" . docker push "$IMAGE" deploy: name: "Déploiement Simplifié" needs: build runs-on: ubuntu-latest steps: - name: Trigger Portainer Webhook run: curl -X POST "${{ secrets.PORTAINER_WEBHOOK_URL }}"