From e7767a75e6e54fb7c7743c57b241455c0bfdee85 Mon Sep 17 00:00:00 2001 From: LeRatierBretonnier Date: Fri, 17 Apr 2026 16:48:50 +0200 Subject: [PATCH] Update for release --- .gitea/workflows/release.yaml | 81 +++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .gitea/workflows/release.yaml diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..58d8280 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,81 @@ +name: Release Creation + +on: + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + env: + MODULE_ID: mgt2-compendium-amiral-denisov + MANIFEST_FILE: module.json + ARCHIVE_FILE: mgt2-compendium-amiral-denisov.zip + RELEASE_TAG: ${{ github.event.release.tag_name }} + REPOSITORY_URL: ${{ gitea.server_url }}/${{ gitea.repository }} + RELEASE_BASE_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/releases/download/${{ github.event.release.tag_name }} + LATEST_BASE_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/releases/download/latest + + steps: + - name: Checkout repository + uses: RouxAntoine/checkout@v3.5.4 + + - name: Setup Node.js + uses: https://github.com/actions/setup-node@v4 + with: + node-version: '20' + + - name: Extract tag version number + id: get_version + uses: battila7/get-version-action@v2 + + - name: Build release manifest + run: | + mkdir -p dist + export RELEASE_VERSION="${{ steps.get_version.outputs.version-without-v }}" + node <<'EOF' + const fs = require('fs'); + const manifestPath = 'module.json'; + const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8')); + manifest.version = process.env.RELEASE_VERSION; + manifest.url = process.env.REPOSITORY_URL; + manifest.manifest = `${process.env.LATEST_BASE_URL}/${process.env.MANIFEST_FILE}`; + manifest.download = `${process.env.RELEASE_BASE_URL}/${process.env.ARCHIVE_FILE}`; + fs.writeFileSync(`dist/${process.env.MANIFEST_FILE}`, `${JSON.stringify(manifest, null, 2)}\n`); + EOF + + - name: Install zip + run: | + apt-get update + apt-get install -y zip + + - name: Create release archive + run: | + rm -rf package + mkdir -p package + cp dist/${MANIFEST_FILE} package/${MANIFEST_FILE} + cp -R assets packs scripts styles templates package/ + ( + cd package + zip -r "../${ARCHIVE_FILE}" . + ) + + - name: Upload release assets + uses: https://gitea.com/actions/release-action@main + with: + files: |- + ./${{ env.ARCHIVE_FILE }} + ./dist/${{ env.MANIFEST_FILE }} + api_key: ${{ secrets.ALLOW_PUSH_RELEASE }} + + - name: Publish to Foundry package portal + if: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN != '' }} + uses: https://github.com/djlechuck/foundryvtt-publish-package-action@v1 + with: + token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }} + id: ${{ env.MODULE_ID }} + version: ${{ steps.get_version.outputs.version-without-v }} + manifest: ${{ env.LATEST_BASE_URL }}/${{ env.MANIFEST_FILE }} + notes: ${{ env.RELEASE_BASE_URL }}/${{ env.ARCHIVE_FILE }} + compatibility-minimum: '11' + compatibility-verified: '13'