From bdc305abd8ba7e5754ea370da7b08f6900ab0396 Mon Sep 17 00:00:00 2001 From: LeRatierBretonnier Date: Tue, 21 Apr 2026 18:57:53 +0200 Subject: [PATCH] Build release script --- .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..c4273a2 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,81 @@ +name: Release Creation + +on: + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - run: echo "💡 The ${{ gitea.repository }} repository will cloned to the runner." + + - uses: RouxAntoine/checkout@v3.5.4 + + # get part of the tag after the `v` + - name: Extract tag version number + id: get_version + uses: battila7/get-version-action@v2 + + # Substitute the Manifest and Download URLs in the 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}}/mgt2.zip + + # Install Node.js and build the JS bundle + - name: Setup Node.js + uses: https://github.com/actions/setup-node@v3 + with: + node-version: "20" + + - name: Install JS dependencies + run: npm install + + - name: Build JS bundle + run: npm run build + + # Install Sass and compile CSS + - name: Install Sass + run: npm install -g sass + + - name: Build CSS + run: sass src/sass/mgt2.sass styles/mgt2.min.css --style=compressed --no-source-map + + # Create a zip file with all files required by the system to add to the release + - name: Install zip + run: apt update -y && apt install -y zip + + - name: Create release zip + run: zip -r ./mgt2.zip system.json template.json README.md LICENSE mgt2.bundle.js assets/ lang/ styles/ templates/ + + - 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: |- + ./mgt2.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: "mgt2" + 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}}/mgt2.zip" + compatibility-minimum: "13" + compatibility-verified: "14"