Skip to content

fix(compaction): hold the emergency prune engaged so the prompt cache survives #1318

fix(compaction): hold the emergency prune engaged so the prompt cache survives

fix(compaction): hold the emergency prune engaged so the prompt cache survives #1318

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
name: Check and test
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: '24'
cache: npm
- name: Install system dependencies
run: |
sudo env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get update
sudo env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get install -y \
libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev fd-find ripgrep
sudo ln -sf "$(which fdfind)" /usr/local/bin/fd
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Check
run: npm run check
- name: Build workspace package entries
run: npm run build
- name: Test
timeout-minutes: 50
run: npm test
terminal-cross-os:
name: Terminal tools (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: '24'
cache: npm
- name: Install dependencies
run: npm ci --ignore-scripts
# The persistent-terminal TS runtime + tool suite must pass on all three OS. Native
# ConPTY/PTY behavior is proven separately by the Native Prebuilds cargo job; here the
# loader falls back to the child_process pipe backend when no host prebuild is present,
# so these tests exercise the cross-OS TS layer (loader, session, screen, tools).
- name: PTY package tests
run: npm run test --workspace @earendil-works/pi-pty
- name: Terminal extension + shell resolution tests
shell: bash
run: npx vitest run test/suite/terminal-extension.test.ts test/suite/terminal-settings-notify.test.ts test/suite/shell-config-kind.test.ts
working-directory: packages/coding-agent
inspector-handoff:
name: Inspector handoff (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: '24'
cache: npm
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Build workspace package entries
run: npm run build
- name: Run Inspector handoff regression
run: npx vitest run test/suite/regressions/inspector-endpoint-handoff.test.ts
working-directory: packages/coding-agent
- name: Summarize Inspector handoff
if: always()
shell: bash
run: |
{
echo "## Inspector handoff"
echo "- OS: ${{ matrix.os }}"
echo "- Node: 24"
echo "- Test: inspector-endpoint-handoff.test.ts"
} >> "$GITHUB_STEP_SUMMARY"