From 4d95467fbebf014ee06764711fea33df5d64f2e7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 23:42:20 +0000 Subject: [PATCH 1/3] Initial plan From 225fcfb47543a854eb28b567f890a4de9b4aedbf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 23:59:47 +0000 Subject: [PATCH 2/3] Add cross-platform GitHub Actions workflow and platform-specific package scripts Co-authored-by: Lexian-droid <83799577+Lexian-droid@users.noreply.github.com> --- .github/workflows/build.yml | 54 +++++++++++++++++++++++++++++++++++++ README.md | 36 ++++++++++++++++++++++++- package.json | 5 +++- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..bbd2025c20 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,54 @@ +name: Build and Package + +on: + push: + pull_request: + +jobs: + build: + name: Build (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + permissions: + contents: read + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.x' + + - name: Install dependencies + # No package-lock.json in this repo, so use npm install + run: npm install --no-audit --no-fund + + - name: Build + run: npm run build + + - name: Package (Windows) + if: runner.os == 'Windows' + run: npm run package:win + + - name: Package (macOS) + if: runner.os == 'macOS' + run: npm run package:mac + + - name: Package (Linux) + if: runner.os == 'Linux' + run: npm run package:linux + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + # Name includes the OS for easy identification + name: WeAnimate-${{ matrix.os }} + # electron-packager outputs a folder named WeAnimate-- + # (e.g. WeAnimate-win32-x64, WeAnimate-darwin-x64, WeAnimate-linux-x64) + path: WeAnimate-*/ + if-no-files-found: error diff --git a/README.md b/README.md index c3310e1421..fded90b6e0 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,38 @@

WeAnimate

This project is not affiliated with or endorsed by GoAnimate Inc. or their product Vyond. WeAnimate is a decentralized open source initiative developed exclusively for archival purposes. It operates on a non-profit basis and does not accept any form of donations


- \ No newline at end of file + + +## Downloading pre-built binaries + +Every push and pull request triggers the [Build and Package](.github/workflows/build.yml) GitHub Actions workflow which compiles the app for Windows, macOS, and Linux. + +To download a build: +1. Go to the [Actions tab](../../actions/workflows/build.yml) of this repository. +2. Click on any successful workflow run. +3. Scroll to the **Artifacts** section at the bottom of the run summary. +4. Download the ZIP for your platform: + - `WeAnimate-windows-latest` — contains the Windows folder with `WeAnimate.exe` + - `WeAnimate-macos-latest` — contains the macOS `.app` bundle + - `WeAnimate-ubuntu-latest` — contains the Linux executable folder + +## Building locally + +```bash +# Install dependencies +npm install + +# Build the renderer and Electron main process +npm run build + +# Package for the current platform +npm run package +``` + +Platform-specific packaging scripts are also available: + +```bash +npm run package:win # Windows (.ico icon) +npm run package:mac # macOS (.icns icon) +npm run package:linux # Linux (.png icon) +``` \ No newline at end of file diff --git a/package.json b/package.json index 5f32518437..bb63eae16f 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,10 @@ "postinstall": "node scripts/fixModules.js", "dev": "concurrently \"NODE_OPTIONS='--no-deprecation' node scripts/build.mjs --dev\" \"vite dev\"", "build": "vite build && node scripts/build.mjs", - "package": "npx electron-packager dist 'WeAnimate' --icon=dist/favicon.ico --overwrite" + "package": "npm run package:win", + "package:win": "npx electron-packager dist 'WeAnimate' --icon=dist/favicon.ico --overwrite", + "package:mac": "npx electron-packager dist 'WeAnimate' --icon=dist/favicon.icns --overwrite", + "package:linux": "npx electron-packager dist 'WeAnimate' --icon=dist/favicon.png --overwrite" }, "engines": { "node": ">=16" From 68c66ae9c1825cbb162326e1a59e21cdceb0ea45 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Mar 2026 00:48:07 +0000 Subject: [PATCH 3/3] Fix Windows packaging: remove single quotes from app name in electron-packager scripts Co-authored-by: Lexian-droid <83799577+Lexian-droid@users.noreply.github.com> --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index bb63eae16f..59ebc09fa6 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "dev": "concurrently \"NODE_OPTIONS='--no-deprecation' node scripts/build.mjs --dev\" \"vite dev\"", "build": "vite build && node scripts/build.mjs", "package": "npm run package:win", - "package:win": "npx electron-packager dist 'WeAnimate' --icon=dist/favicon.ico --overwrite", - "package:mac": "npx electron-packager dist 'WeAnimate' --icon=dist/favicon.icns --overwrite", - "package:linux": "npx electron-packager dist 'WeAnimate' --icon=dist/favicon.png --overwrite" + "package:win": "npx electron-packager dist WeAnimate --icon=dist/favicon.ico --overwrite", + "package:mac": "npx electron-packager dist WeAnimate --icon=dist/favicon.icns --overwrite", + "package:linux": "npx electron-packager dist WeAnimate --icon=dist/favicon.png --overwrite" }, "engines": { "node": ">=16"