fix: unbreak cold install and harden /api/config #3
Workflow file for this run
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: | |
| 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 |