From e7a0cc01f203bee15791abea2b91b68f0b1d6896 Mon Sep 17 00:00:00 2001 From: gardenGnostic Date: Thu, 5 Mar 2026 00:42:24 +0100 Subject: [PATCH] Add GitHub Actions workflow for releases --- .github/workflows/release.yml | 99 +++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..9667927 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,99 @@ +name: Release + +on: + push: + tags: + - "v*.*.*" + +permissions: + contents: write + +jobs: + build-linux: + name: Build Linux AppImage + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Install Linux build deps + run: | + sudo apt-get update + sudo apt-get install -y libarchive-tools rpm fakeroot + + - name: Build AppImage + run: npm run dist + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload Linux artifact + uses: actions/upload-artifact@v4 + with: + name: linux-dist + path: dist/*.AppImage + if-no-files-found: error + + build-windows: + name: Build Windows Installer + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Build Windows installer + run: npm run dist:win + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload Windows artifact + uses: actions/upload-artifact@v4 + with: + name: windows-dist + path: | + dist/*.exe + dist/*.msi + if-no-files-found: error + + release: + name: Create GitHub Release + needs: [build-linux, build-windows] + runs-on: ubuntu-latest + + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts + + - name: Create release and upload assets + uses: softprops/action-gh-release@v2 + with: + name: LegacyLauncher ${{ github.ref_name }} + draft: false + prerelease: ${{ contains(github.ref_name, '-') }} + generate_release_notes: true + files: | + artifacts/linux-dist/* + artifacts/windows-dist/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}