# Verifies Electron launcher Windows pack and uploads installers for testing. name: Fractured launcher CI on: workflow_dispatch: push: branches: [master, main] paths: - 'tools/fractured-launcher-electron/**' - '.github/workflows/fractured-launcher-ci.yml' pull_request: paths: - 'tools/fractured-launcher-electron/**' - '.github/workflows/fractured-launcher-ci.yml' permissions: contents: read concurrency: group: fractured-launcher-ci-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: electron-launcher-windows: runs-on: windows-latest timeout-minutes: 45 defaults: run: working-directory: tools/fractured-launcher-electron steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: npm cache-dependency-path: tools/fractured-launcher-electron/package-lock.json - name: Install and pack (NSIS + portable) run: | npm ci npm run pack:win - uses: actions/upload-artifact@v4 with: name: fractured-launcher-electron-windows-${{ github.run_id }} if-no-files-found: warn path: | tools/fractured-launcher-electron/dist/*.exe tools/fractured-launcher-electron/dist/latest.yml electron-launcher-linux: runs-on: ubuntu-latest timeout-minutes: 45 defaults: run: working-directory: tools/fractured-launcher-electron steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: npm cache-dependency-path: tools/fractured-launcher-electron/package-lock.json - name: Install and pack (AppImage) run: | npm ci npm run pack:linux - uses: actions/upload-artifact@v4 with: name: fractured-launcher-electron-linux-${{ github.run_id }} if-no-files-found: warn path: | tools/fractured-launcher-electron/dist/*.AppImage tools/fractured-launcher-electron/dist/latest.yml tools/fractured-launcher-electron/dist/latest-linux.yml