Skip to content

chore: bump RunAnywhere SDK to 0.20.18 (#1) #9

chore: bump RunAnywhere SDK to 0.20.18 (#1)

chore: bump RunAnywhere SDK to 0.20.18 (#1) #9

Workflow file for this run

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