mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-22 16:25:58 +00:00
48 lines
1.8 KiB
YAML
48 lines
1.8 KiB
YAML
# .github/workflows/js-tests.yml
|
|
name: JS Tests
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
jobs:
|
|
check:
|
|
name: Typecheck & Test
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
package:
|
|
[ui-tui, web, apps/bootstrap-installer, apps/desktop, apps/shared]
|
|
fail-fast: false # report all failures, not just the first one
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
- uses: ./.github/actions/retry
|
|
with:
|
|
# --ignore-scripts: TS & tests don't need native deps
|
|
command: npm ci --ignore-scripts
|
|
- run: npm run --prefix ${{ matrix.package }} check
|
|
|
|
# Production build of the desktop renderer. `typecheck` runs `tsc` only,
|
|
# which does NOT exercise Vite/Rolldown module resolution — so an
|
|
# unresolvable package export (e.g. a transitive @assistant-ui/tap that no
|
|
# longer exports "./react-shim") slips past typecheck and only explodes when
|
|
# users build apps/desktop from source on install/update. Run the real
|
|
# `vite build` here so that class of break fails in CI instead.
|
|
desktop-build:
|
|
name: Build desktop app
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
# Keep install scripts here: the production build may need node-pty's
|
|
# native binary. retry handles the transient install-time fetch flakes.
|
|
- uses: ./.github/actions/retry
|
|
with:
|
|
command: npm ci
|
|
- run: npm run --prefix apps/desktop build
|