feat(runtime): add gated multi-agent parallel execution #59
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: CI manifests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| paths: | |
| - "plugins/**" | |
| - "benchmarks/**" | |
| - "pyproject.toml" | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| manifests: | |
| name: manifest ${{ matrix.manifest }} (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ["ubuntu-latest", "macos-latest", "windows-latest"] | |
| manifest: ["provider-parity-methodology", "codex-integration", "codex-agentic"] | |
| timeout-minutes: 10 | |
| env: | |
| UV_PYTHON: "3.12" | |
| steps: | |
| - name: 📥 Checkout | |
| uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 | |
| # The job-level UV_PYTHON is uv's own equivalent of --python, so no uv run below | |
| # repeats the version; the action input installs that interpreter. | |
| - name: 📦 Install uv and Python | |
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5 | |
| with: | |
| python-version: ${{ env.UV_PYTHON }} | |
| # Manifests are gitignored generated artifacts, so a fresh checkout has none to | |
| # compare against: build first, then --check that a rebuild is byte-identical. | |
| # The builders form a chain — codex-agentic hashes codex-integration.json, and both | |
| # Codex builders read provider-parity-methodology.json — so a job builds every | |
| # manifest its own target depends on before verifying that target alone. | |
| # Bytes are Python-version independent but embed an OS-resolved scan root, so the | |
| # matrix covers operating systems, not interpreter versions. | |
| - name: 🔨 Build provider-parity-methodology | |
| run: uv run --only-group test python benchmarks/build-provider-parity-methodology-manifest.py | |
| - name: 🔨 Build codex-integration | |
| if: matrix.manifest != 'provider-parity-methodology' | |
| run: uv run --only-group test python benchmarks/build-codex-integration-manifest.py | |
| - name: 🔨 Build codex-agentic | |
| if: matrix.manifest == 'codex-agentic' | |
| run: uv run --only-group test python benchmarks/build-codex-agentic-manifest.py | |
| - name: 🔒 Verify ${{ matrix.manifest }} rebuilds byte-identically | |
| run: uv run --only-group test python "benchmarks/build-${{ matrix.manifest }}-manifest.py" --check |