Skip to content

fix: unbreak cold install and harden /api/config #3

fix: unbreak cold install and harden /api/config

fix: unbreak cold install and harden /api/config #3

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
# Prefix by event_name so a fork PR branch named "main" doesn't collide
# with pushes to our actual main branch.
group: ci-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
agent-core:
name: agent-core / node ${{ matrix.node }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node: ["20", "22"]
defaults:
run:
working-directory: agent-core
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
# Pin exact — floating 10.x can bring a patch where the
# lockfile format shifts and silently breaks --frozen-lockfile.
version: 10.17.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: pnpm
cache-dependency-path: agent-core/pnpm-lock.yaml
- name: Install
run: pnpm install --frozen-lockfile
- name: Typecheck
run: pnpm run typecheck
- name: Test
run: pnpm test
- name: Build
run: pnpm build
templates:
name: templates / ${{ matrix.template }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
template: [express, library, next]
defaults:
run:
working-directory: agent-templates/${{ matrix.template }}
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
# Pin exact — floating 10.x can bring a patch where the
# lockfile format shifts and silently breaks --frozen-lockfile.
version: 10.17.0
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: pnpm
cache-dependency-path: agent-templates/${{ matrix.template }}/pnpm-lock.yaml
# Cold-install gate: proves a fresh clone + `pnpm install --frozen-lockfile`
# succeeds. Typecheck across templates is intentionally deferred — each
# template has a pre-existing tsc backlog we don't want to gate PRs on.
- name: Cold install (frozen lockfile)
run: pnpm install --frozen-lockfile
sync-check:
name: templates in sync with agent-core
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Check vendored agent-core is up to date
run: node .internal/scripts/sync-agent-core.mjs --check