# ============================================================
#  GitHub Actions — Build + Push image → GHCR
#  Déclenche un redéploiement automatique via webhook Portainer
# ============================================================

name: Build & Deploy

on:
    push:
        branches:
            - master

jobs:
    build-and-push:
        name: Build image et push sur GHCR
        runs-on: ubuntu-latest

        permissions:
            contents: read
            packages: write  # Nécessaire pour pousser sur ghcr.io

        steps:
            - name: Checkout du code
              uses: actions/checkout@v4

            - name: Connexion au GitHub Container Registry
              uses: docker/login-action@v3
              with:
                  registry: ghcr.io
                  username: ${{ github.actor }}
                  password: ${{ secrets.GITHUB_TOKEN }}  # Automatique, rien à configurer

            - name: Build et push de l'image Docker
              uses: docker/build-push-action@v5
              with:
                  context: .
                  file: ./docker/apache/Dockerfile
                  push: true
                  tags: ghcr.io/${{ github.repository_owner }}/mcserverwebsite:latest

            - name: Déclenche le redéploiement Portainer
              run: |
                  curl -s -X POST "${{ secrets.PORTAINER_WEBHOOK_URL }}"
                # PORTAINER_WEBHOOK_URL est un secret GitHub (voir étapes d'installation)
