Real coding CLIs through Agentic API #5
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: Harness CLI E2E | |
| run-name: Real coding CLIs through Agentic API | |
| on: | |
| pull_request: | |
| merge_group: | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| harness-cli-e2e: | |
| name: ${{ matrix.name }} through Agentic API | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Claude Code | |
| package: '@anthropic-ai/claude-code' | |
| version: '2.1.245' | |
| binary: claude | |
| expected-version: '2.1.245 (Claude Code)' | |
| smoke-script: scripts/claude-code-smoke.sh | |
| - name: Codex | |
| package: '@openai/codex' | |
| version: '0.149.1' | |
| binary: codex | |
| expected-version: 'codex-cli 0.149.1' | |
| smoke-script: scripts/codex-smoke.sh | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Set up Python | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 | |
| with: | |
| python-version: '3.12' | |
| - name: Set up Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: '24' | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1 | |
| with: | |
| toolchain: stable | |
| - name: Cache cargo registry and build | |
| uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock') }} | |
| restore-keys: | | |
| cargo-${{ runner.os }}- | |
| - name: Install pinned test dependencies | |
| run: | | |
| python -m pip install 'PyYAML==6.0.3' | |
| npm install --global '${{ matrix.package }}@${{ matrix.version }}' | |
| test "$(${{ matrix.binary }} --version)" = '${{ matrix.expected-version }}' | |
| - name: Test replay server | |
| run: python -m unittest scripts/test_claude_code_replay_server.py -v | |
| - name: Build Agentic API CLI and server | |
| run: cargo build -p agentic-server --bins | |
| - name: Run ${{ matrix.name }} through Agentic API | |
| run: bash '${{ matrix.smoke-script }}' |