diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..85cc82d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,47 @@ +name: Build Electron Apps + +on: + workflow_dispatch: + push: + branches: ["main", "electron"] + paths: + - 'frontend/**' + - 'package.json' + - 'package-lock.json' + - 'frontend/electron/**' + +jobs: + build: + name: Build (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '24' + + - name: Install root deps (no scripts) + run: npm install --ignore-scripts --no-audit --no-fund + + - name: Install Electron Forge deps + run: npm run frontend:electron:dependencies + + - name: Build Electron app + run: npm run build:electron + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: fromchat-${{ runner.os }} + path: | + frontend/electron/forge/out/** + if-no-files-found: error +