Skip to content

feat(langgraph): lazyModel — defer a named model arm to first call #219

feat(langgraph): lazyModel — defer a named model arm to first call

feat(langgraph): lazyModel — defer a named model arm to first call #219

Workflow file for this run

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