Skip to content

feat(#231): LLM benchmark v2 — typed assertions, skill-trace, LLM-as-Judge, CI migration #10

feat(#231): LLM benchmark v2 — typed assertions, skill-trace, LLM-as-Judge, CI migration

feat(#231): LLM benchmark v2 — typed assertions, skill-trace, LLM-as-Judge, CI migration #10

name: Analysis Regression
on:
workflow_dispatch:
pull_request:
paths:
- 'backend/**'
- 'scripts/**'
- 'tests/**'
- 'sclaw'
- 'sclaw_cn'
- 'package.json'
- '.github/workflows/analysis-regression.yml'
push:
branches:
- master
paths:
- 'backend/**'
- 'scripts/**'
- 'tests/**'
- 'sclaw'
- 'sclaw_cn'
- 'package.json'
- '.github/workflows/analysis-regression.yml'
permissions:
contents: read
jobs:
analysis-regression:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Linux system dependencies for OpenSeesPy
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gfortran libopenblas-dev
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
- name: Install backend dependencies
run: npm install --prefix backend
- name: Generate Prisma client
run: npm run db:generate --prefix backend
- name: Build backend
run: npm run build --prefix backend
- name: Setup analysis Python
run: node ./sclaw setup-analysis-python
- name: Run Analysis Regression
run: node tests/runner.mjs analysis-regression