name: Build and Release DMG

on:
  push:
    tags:
      - 'v0.*.*'
      - 'v[1-9].*.*'
  workflow_dispatch:

jobs:
  build:
    runs-on: macos-15  # ← CHANGÉ de macos-14 à macos-15
    
    steps:
    - name: Checkout code
      uses: actions/checkout@v4
    
    - name: Setup Xcode
      uses: maxim-lobanov/setup-xcode@v1
      with:
        xcode-version: '16.1'  # ← CHANGÉ de 15.2 à 16.1 (inclut Swift 6)
    
    - name: Resolve Swift Package Dependencies
      run: |
        xcodebuild -resolvePackageDependencies \
          -scheme iDither
    
    - name: Build app
      run: |
        xcodebuild -scheme iDither \
          -configuration Release \
          -derivedDataPath ./build \
          -destination 'platform=macOS' \
          clean build
    
    - name: Create DMG
      run: |
        # Trouve l'app compilée
        APP_PATH=$(find ./build/Build/Products/Release -name "iDither.app" -type d | head -n 1)
        
        if [ -z "$APP_PATH" ]; then
          echo "❌ App non trouvée dans le build"
          exit 1
        fi
        
        echo "✅ App trouvée : $APP_PATH"
        
        # Crée un dossier temporaire pour le DMG
        mkdir -p dmg_content
        cp -R "$APP_PATH" dmg_content/
        
        # Ajoute un lien vers /Applications
        ln -s /Applications dmg_content/Applications
        
        # Crée le DMG
        hdiutil create -volname "iDither" \
          -srcfolder dmg_content \
          -ov -format UDZO \
          iDither-${{ github.ref_name }}.dmg
        
        echo "✅ DMG créé : iDither-${{ github.ref_name }}.dmg"
    
    - name: Create Release
      uses: softprops/action-gh-release@v1
      with:
        files: iDither-*.dmg
        draft: false
        prerelease: ${{ startsWith(github.ref, 'refs/tags/v0.') }}
        body: |
          ## iDither ${{ github.ref_name }}
          
          Application macOS de dithering en temps réel.
          
          ### Installation
          1. Téléchargez le fichier `.dmg`
          2. Ouvrez-le et glissez iDither vers Applications
          3. Au premier lancement, faites clic droit → Ouvrir (sécurité macOS)
          
          ---
          Build automatique via GitHub Actions