Skip to content

bench: migrate Haiku calls to @anthropic-ai/claude-agent-sdk (auto-de… #15

bench: migrate Haiku calls to @anthropic-ai/claude-agent-sdk (auto-de…

bench: migrate Haiku calls to @anthropic-ai/claude-agent-sdk (auto-de… #15

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
test:
name: Test (Node ${{ matrix.node }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node: ['18', '20', '22']
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build TypeScript
run: npm run build
- name: Run test suite
run: npm test
env:
# Ensure hooks cannot accidentally POST to a real port during tests
CONTEXT_MEM_API_PORT: '1'
typecheck:
name: Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build TypeScript
run: npm run build
- name: Type-check (tsc --noEmit)
run: npm run lint
bench-quick:
name: Benchmark smoke (50 queries)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build TypeScript
run: npm run build
- name: Check for LongMemEval dataset
id: dataset
run: |
if [ -f /tmp/longmemeval-data/longmemeval_s_cleaned.json ]; then
echo "present=true" >> "$GITHUB_OUTPUT"
else
echo "present=false" >> "$GITHUB_OUTPUT"
fi
- name: Run quick benchmark
if: steps.dataset.outputs.present == 'true'
continue-on-error: true # benchmark command failure must not block CI green
run: npm run bench:quick