test(genbi): give two streaming setup tests room on a slower machine #7
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: GenBI app CI | |
| # Trigger sources are controlled events (pull_request, push). No untrusted | |
| # issue / comment / external payload is interpolated into run/env contexts | |
| # in this file. ${{ github.* }} usages below are confined to YAML-level | |
| # fields (group), not run scripts. | |
| permissions: | |
| contents: read | |
| on: | |
| pull_request: | |
| paths: | |
| - 'apps/genbi/**' | |
| - 'package.json' | |
| - 'pnpm-workspace.yaml' | |
| - 'pnpm-lock.yaml' | |
| - '.github/workflows/genbi-ci.yml' | |
| push: | |
| branches: | |
| - main | |
| - feat/genbi-app | |
| paths: | |
| - 'apps/genbi/**' | |
| - 'package.json' | |
| - 'pnpm-workspace.yaml' | |
| - 'pnpm-lock.yaml' | |
| - '.github/workflows/genbi-ci.yml' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| working-directory: apps/genbi | |
| jobs: | |
| ci: | |
| name: typecheck, test, build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - name: Enable corepack (pnpm via packageManager field) | |
| run: corepack enable | |
| # The native-session preflight will only run a wren it can trace back to | |
| # this checkout: it requires an editable install, and checks that the .pth | |
| # it leaves behind points at core/wren/src inside the same git repository | |
| # as the server. A release install from PyPI does not satisfy that, so CI | |
| # installs from the tree it just checked out. | |
| - name: Install the wren CLI | |
| uses: astral-sh/setup-uv@v5 | |
| - name: Install wren from this checkout | |
| working-directory: . | |
| run: | | |
| uv tool install --editable ./core/wren | |
| wren --version | |
| echo "--- wren shim layout ---" | |
| ls -l "$HOME/.local/bin/wren" || true | |
| target=$(readlink -f "$HOME/.local/bin/wren" || true) | |
| ls -l "$(dirname "$target")/../lib"/python*/site-packages/_editable_impl_wrenai.pth || true | |
| - name: Install workspace dependencies | |
| working-directory: . | |
| run: pnpm install --frozen-lockfile | |
| - name: Typecheck | |
| run: pnpm run typecheck | |
| - name: Warble peer dependency check | |
| run: pnpm run check:warble-peers | |
| # Build precedes test deliberately: part of the suite loads the compiled BFF | |
| # out of dist-server/ to probe it, so on a fresh checkout those tests fail | |
| # rather than skip if nothing has been built yet. | |
| - name: Build | |
| run: pnpm run build | |
| - name: Test | |
| run: pnpm run test |