Update for release

This commit is contained in:
2026-04-17 16:48:50 +02:00
parent a2779383e8
commit e7767a75e6

View File

@@ -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'