Phase B: Python CLI v1.0 verb parity #479
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: 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)" |