name: Deploy Docusaurus

on:
  push:
    branches:
      - main  # Esegue il deploy solo quando pushi su main

jobs:
  build-and-deploy:
    # ⚠️ FONDAMENTALE: Questa label deve combaciare con quella del tuo Runner
    runs-on: docker
    
    # Usiamo un container Node per costruire il sito (come facevi su GitLab)
    container:
      image: node:20-bookworm

    steps:
      - name: Checkout del codice
        uses: actions/checkout@v4

      # Installa le dipendenze
      # Cambiato da 'npm ci' a 'npm install' per gestire automaticamente
      # eventuali disallineamenti tra package.json e package-lock.json
      - name: Installazione Dipendenze
        run: npm install

      # Costruisce il sito (crea la cartella 'build')
      - name: Build Docusaurus
        run: npm run build

      # FASE DI DEPLOY (Sostituisce la parte 'pages' di GitLab)
      # Invece di usare gli artifacts di GitLab, copiamo i file fisicamente sul server
      - name: Pubblica sul Server
        run: |
          # Questa cartella /deploy/docs è il volume condiviso che abbiamo creato nel docker-compose
          TARGET_DIR="/deploy/docs"
          
          echo "Inizio deploy su $TARGET_DIR..."
          
          # Crea la cartella se non esiste
          mkdir -p $TARGET_DIR
          
          # Pulisce la cartella di destinazione (rimuove il vecchio sito)
          rm -rf $TARGET_DIR/*
          
          # Copia il nuovo sito appena compilato
          # (Docusaurus mette tutto in 'build', noi lo spostiamo nella cartella pubblica)
          cp -r build/* $TARGET_DIR/
          
          echo "Deploy completato con successo!"