feat(testbed): discover independently-existing eve/flue projects #213
Workflow file for this run
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 | |
| # 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 |