name: Electron CI on: push: branches: ["main"] paths: - "apps/desktop/**" - "apps/web/**" - "packages/**" - "pnpm-lock.yaml" - ".github/workflows/electron-ci.yml" pull_request: branches: ["main"] paths: - "apps/desktop/**" - "apps/web/**" - "packages/**" - "pnpm-lock.yaml" - ".github/workflows/electron-ci.yml" workflow_dispatch: permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: name: Build (${{ matrix.platform }}) strategy: fail-fast: false matrix: include: - platform: macos-latest - platform: ubuntu-22.04 - platform: windows-latest runs-on: ${{ matrix.platform }} timeout-minutes: 45 steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: 10 - uses: actions/setup-node@v4 with: node-version: lts/* cache: pnpm - name: Install JS dependencies run: pnpm install --frozen-lockfile - name: Typecheck desktop run: pnpm --filter @memohai/desktop typecheck - name: Build desktop (unpacked smoke) env: CSC_IDENTITY_AUTO_DISCOVERY: "false" run: pnpm --filter @memohai/desktop build:dir