Skip to content
This repository was archived by the owner on Aug 18, 2026. It is now read-only.

chore: finish p1-8 pre-alpha release hardening #2

chore: finish p1-8 pre-alpha release hardening

chore: finish p1-8 pre-alpha release hardening #2

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
- master
jobs:
test:
name: Test on Node.js ${{ matrix.node-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [20.x, 22.x, 24.x]
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Typecheck
run: npm run typecheck
- name: Lint
run: npm run lint
- name: Test
run: npm test
- name: Build
run: npm run build
- name: Production dependency audit
run: npm audit --omit=dev
- name: Package dry run
run: npm pack --dry-run
- name: Package install smoke
run: |
set -euo pipefail
tmp_dir="$(mktemp -d /tmp/agent-runtime-release-smoke-XXXXXX)"
repo_root="${GITHUB_WORKSPACE:-$(pwd)}"
pushd "$tmp_dir"
pack_info="$(cd "$repo_root" && npm pack --json --ignore-scripts --pack-destination "$tmp_dir")"
package_file="$(printf '%s' "$pack_info" | node -e "const fs = require('node:fs'); const data = JSON.parse(fs.readFileSync(0, 'utf8')); process.stdout.write(data[0].filename);")"
npm init -y >/dev/null
npm install "$tmp_dir/$package_file" --no-save
node -e "(async()=>{ const m = await import('agent-cli-runtime'); if (typeof m.createAgentRuntime !== 'function') process.exit(1); })()"
node ./node_modules/.bin/agent-runtime agents --json > /tmp/agent-runtime-release-smoke-agents.json
node ./node_modules/.bin/agent-runtime doctor --json > /tmp/agent-runtime-release-smoke-doctor.json
node ./node_modules/.bin/agent-runtime smoke --mode fixtures --json > /tmp/agent-runtime-release-smoke-fixtures.json
node -e "const fs = require('node:fs'); JSON.parse(fs.readFileSync('/tmp/agent-runtime-release-smoke-agents.json','utf8')); JSON.parse(fs.readFileSync('/tmp/agent-runtime-release-smoke-doctor.json','utf8')); JSON.parse(fs.readFileSync('/tmp/agent-runtime-release-smoke-fixtures.json','utf8'));"
popd