name: Release Creation

on:
  release:
    types: [published]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: RouxAntoine/checkout@v3.5.4

      # Extrait la version depuis le tag (ex: v1.2.3 → 1.2.3)
      - name: Extract tag version number
        id: get_version
        uses: battila7/get-version-action@v2

      # Met à jour version, manifest et download dans system.json
      - name: Substitute Manifest and Download Links For Versioned Ones
        id: sub_manifest_link_version
        uses: microsoft/variable-substitution@v1
        with:
          files: "system.json"
        env:
          version: ${{steps.get_version.outputs.version-without-v}}
          url: https://www.uberwald.me/gitea/${{gitea.repository}}
          manifest: https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/latest/system.json
          download: https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/vermine2047-${{github.event.release.tag_name}}.zip

      # Compile le CSS depuis les sources LESS
      - name: Setup Node.js
        uses: https://github.com/actions/setup-node@v4
        with:
          node-version: '22'

      - name: Build CSS
        run: npm install && npm run build

      # Crée le zip de release avec tous les fichiers nécessaires au système
      - run: |
          apt update -y
          apt install -y zip

      - run: zip -r ./vermine2047-${{github.event.release.tag_name}}.zip system.json module/ css/ templates/ lang/ assets/ packs/

      - name: setup go
        uses: https://github.com/actions/setup-go@v4
        with:
          go-version: ">=1.20.1"

      - name: Use Go Action
        id: use-go-action
        uses: https://gitea.com/actions/release-action@main
        with:
          files: |-
            ./vermine2047-${{github.event.release.tag_name}}.zip
            system.json
          api_key: "${{secrets.ALLOW_PUSH_RELEASE}}"

      - name: Publish to Foundry server
        uses: https://github.com/djlechuck/foundryvtt-publish-package-action@v1
        with:
          token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }}
          id: 'vermine2047'
          version: ${{github.event.release.tag_name}}
          manifest: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/latest/system.json'
          notes: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/vermine2047-${{github.event.release.tag_name}}.zip'
          compatibility-minimum: '14'
          compatibility-verified: '14'
