chore: bump RunAnywhere SDK to 0.20.18 (#1) #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| # What this gate proves: a clean clone of THIS repo — with no monorepo checkout | |
| # and no `file:` links — installs the RunAnywhere Electron SDK (and its native | |
| # prebuilds) from the npm registry, then type-checks, lints, unit-tests and | |
| # builds the desktop app. | |
| # | |
| # The install is `npm ci` against the committed package-lock.json, so the tree | |
| # CI resolves is byte-for-byte the tree a developer gets. Bump the SDK by | |
| # editing package.json and committing the regenerated lock file — never by | |
| # letting the range float at install time. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| verify: | |
| name: Typecheck, lint, test | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| # `npm ci` — installs exactly what package-lock.json pins, and fails rather | |
| # than silently rewriting the lock file if package.json has drifted from it. | |
| - name: Install dependencies (SDK from npm) | |
| run: npm ci --no-audit --no-fund | |
| - name: Typecheck (main + preload + renderer) | |
| run: npm run typecheck | |
| - name: Lint | |
| run: npm run lint | |
| # Unit tests only (vitest, test/unit/**). The Playwright suite under | |
| # test/e2e is deliberately NOT run here: it launches the real Electron | |
| # binary with the ~43 MB native addon, which is a local/self-hosted gate, | |
| # not a hosted-runner one. | |
| - name: Unit tests | |
| run: npm run test | |
| # Compiles main (CJS), preload (CJS) and the Vite renderer bundle — the | |
| # same output `npm start` and electron-builder consume. Packaging itself is | |
| # out of scope for CI. | |
| - name: Build | |
| run: npm run build |