feat(langgraph): lazyModel — defer a named model arm to first call #219
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 | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # ripgrep backs @harpua/agent-tools' file-exploration + web-research | |
| # tools; without it those specs self-skip and their real behavior goes | |
| # untested in CI. | |
| - name: Install ripgrep | |
| run: sudo apt-get update && sudo apt-get install -y ripgrep | |
| # Enable Corepack so the pnpm version pinned by the repo's | |
| # `packageManager` field is used. | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build, lint, and test | |
| run: pnpm turbo build lint test | |
| # Registry dogfood: scaffold with the freshly built bin, then install/build/test | |
| # the generated project against the LIVE npm registry. Catches template drift | |
| # (wrong dep floors, stale API usage) that the offline unit tests can't. | |
| template-smoke: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| env: | |
| # corepack's non-TTY download prompt otherwise fails the scaffold install | |
| COREPACK_ENABLE_DOWNLOAD_PROMPT: "0" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build the scaffolder | |
| run: pnpm turbo build --filter create-harpua-app | |
| - name: Scaffold a project with the built bin | |
| run: node packages/create-harpua-app/dist/cli.js /tmp/smoke-agent | |
| # A fresh scaffold has no lockfile; CI=true would otherwise imply --frozen-lockfile. | |
| - name: Install the scaffold (real registry) | |
| working-directory: /tmp/smoke-agent | |
| run: pnpm install --no-frozen-lockfile | |
| - name: Build the scaffold | |
| working-directory: /tmp/smoke-agent | |
| run: pnpm build | |
| - name: Test the scaffold | |
| working-directory: /tmp/smoke-agent | |
| run: pnpm test |