Skip to content

Phase B: Python CLI v1.0 verb parity #479

Phase B: Python CLI v1.0 verb parity

Phase B: Python CLI v1.0 verb parity #479

name: AgentPress v1.0 Validate
# v1.0 release-candidate validation. Replaces the v0.2.x workflow which
# referenced surfaces that v1.0 removed (mesh, search, landing-receipts,
# submission-packs, etc.). All those flows are deferred to v1.x+.
on:
push:
branches: [main, "v1.0", "v1.*"]
pull_request:
jobs:
agents-txt:
name: agents.txt (dogfood our own setup-action)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate agents.txt with local setup-action
uses: ./actions/setup-action
with:
file: agents.txt
fail-on-warnings: false
core-typescript:
name: '@agentpress/core (TypeScript)'
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/core
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm install --no-fund --no-audit
- name: Build dual ESM + CJS
run: |
npx tsc -p tsconfig.json
[ -f dist/index.js ] && mv dist/index.js dist/index.mjs
[ -f dist/index.js.map ] && mv dist/index.js.map dist/index.mjs.map
npx tsc -p tsconfig.cjs.json
[ -f dist-cjs/index.js ] && cp dist-cjs/index.js dist/index.cjs
- name: Test
run: npm test
core-python:
name: 'agentpress-core (Python)'
runs-on: ubuntu-latest
defaults:
run:
working-directory: python-core
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: python3 -m pip install --upgrade pip pytest
- run: python3 -m pytest tests/ -q
legacy-cli-doctor:
name: Legacy CLI doctor (smoke)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Run agentpress doctor
run: python3 scripts/agentpress.py doctor --json || echo "doctor surfaced issues (non-fatal in rc.1)"
npm-pack-budget:
name: npm pack size budget (<500 KB)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: npm pack and check size
run: |
npm pack --silent
SIZE=$(stat -c%s agent_press-agentpress-*.tgz 2>/dev/null || stat -f%z agent_press-agentpress-*.tgz)
echo "tarball bytes: $SIZE"
if [ "$SIZE" -gt 512000 ]; then
echo "::error::npm tarball $SIZE bytes exceeds 500 KB budget"
exit 1
fi
echo "::notice::npm tarball $SIZE bytes (under 500 KB budget)"