name: Build and Deploy Ren'Py Web
on:
  push:
    branches:
      - main # Update if your primary branch is named something else (e.g., 'master')

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v4

      - name: Setup Ren'Py with Web Support
        uses: remarkablegames/setup-renpy@v1
        with:
          version: '8.5.3'
          web: true

      - name: Install System Dependencies (OpenGL)
        run: |
          # Install OpenGL dependencies needed by the Ren'Py executable
          if command -v sudo >/dev/null 2>&1; then
            sudo apt-get update && sudo apt-get install -y libgl1
          else
            apt-get update && apt-get install -y libgl1
          fi

      - name: Build Web Distribution
        run: |
          # Execute the build from the /tmp directory, targeting your workspace root
          mkdir -p $GITHUB_WORKSPACE/web-dist
          renpy-launcher web_build $GITHUB_WORKSPACE --destination $GITHUB_WORKSPACE/web-dist 
      
      - name: Deploy to Itch.io via Butler Action
        uses: Ayowel/butler-to-itch@v1
        with:
          butler_key: ${{ secrets.BUTLER_API_KEY }}
          itch_user: 'dynamitos'
          itch_game: 'visual-novel'
          # Pushes to the web channel automatically
          files: |
            web-dist