Skip to content

feat(testbed): discover independently-existing eve/flue projects #213

feat(testbed): discover independently-existing eve/flue projects

feat(testbed): discover independently-existing eve/flue projects #213

Workflow file for this run

name: CI
# Build + test on every push to main and every PR. `pnpm test` runs
# `tsc -b && vitest run` — tests execute against the compiled dist/, so the
# build is exercised as part of the test step.
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [22, 24, 26]
steps:
- uses: actions/checkout@v6
# bubblewrap so the linux-bubblewrap sandbox boundary test actually runs here (it
# self-skips if unprivileged user namespaces are unavailable). Relax the Ubuntu
# 24.04 AppArmor restriction on unprivileged userns so bwrap can start.
- run: |
sudo apt-get update && sudo apt-get install -y bubblewrap
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 || true
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- run: pnpm install --frozen-lockfile
# Full build first (tsc -b && build-console) so consoleMount's server test
# serves the real boot-splash HTML, not the "console not built"
# placeholder. `pnpm test` alone only runs `tsc -b && vitest run` and never
# invokes the esbuild console bundler — and that bundler needs the
# tsc-compiled @agentgem/* dist to resolve, so order matters.
- run: pnpm build
- run: pnpm test