name: Release Creation

on:
  release:
    types: [published]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: echo "💡 The ${{ gitea.repository }} repository will be cloned to the runner."

      - uses: RouxAntoine/checkout@v3.5.4

      - name: Extract tag version number
        id: get_version
        uses: battila7/get-version-action@v2

      - 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/uberwald/fvtt-donjon-et-cie/releases/download/latest/system.json
          download: https://www.uberwald.me/gitea/${{ gitea.repository }}/releases/download/${{ github.event.release.tag_name }}/fvtt-donjon-et-cie.zip

      - name: Setup Node
        uses: https://github.com/actions/setup-node@v4
        with:
          node-version: 24

      - name: Install dependencies
        run: npm ci

      - name: Build system and pack compendiums
        run: npm run build

      - run: |
          apt update -y
          apt install -y zip

      - run: zip -r ./fvtt-donjon-et-cie.zip system.json package.json assets/ lang/ modules/ packs/ styles/ templates/

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

      - name: Create Gitea release assets
        id: release_assets
        uses: https://gitea.com/actions/release-action@main
        with:
          files: |-
            ./fvtt-donjon-et-cie.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: "fvtt-donjon-et-cie"
          version: ${{ github.event.release.tag_name }}
          manifest: "https://www.uberwald.me/gitea/uberwald/fvtt-donjon-et-cie/releases/download/latest/system.json"
          notes: "https://www.uberwald.me/gitea/${{ gitea.repository }}/releases/download/${{ github.event.release.tag_name }}/fvtt-donjon-et-cie.zip"
          compatibility-minimum: "13"
          compatibility-verified: "14"
