Agent workspace rework: declared compute layer, expanded tool roster, Loogle, Pantograph removal #177
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: Checks | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| # apn.__version__ (CI image tags) and pyproject.toml (wheel) must stay in | |
| # lockstep; scripts/bump_version.py edits both. | |
| check-version: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: uv.lock | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version-file: pyproject.toml | |
| - name: Check apn.__version__ matches pyproject.toml | |
| run: |- | |
| version_from_init="$(python -c "import apn; print(apn.__version__)")" | |
| echo "Version from apn/__init__.py: $version_from_init" | |
| version_from_pyproject="$(uv version --short)" | |
| echo "Version from pyproject.toml: $version_from_pyproject" | |
| if [ "$version_from_init" != "$version_from_pyproject" ]; then | |
| echo "Version mismatch between apn/__init__.py and pyproject.toml" | |
| exit 1 | |
| fi | |
| mypy: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: uv.lock | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version-file: pyproject.toml | |
| - run: uv sync | |
| - run: uv run mypy | |
| # One job per suite for parallel early signal; the container suites build the | |
| # Lean sandbox image in-test (too big for a stock runner's disk). | |
| pytest: | |
| name: ${{ matrix.suite }} | |
| runs-on: epoch-research-x64-64core-256GB-2040GB | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Fast pure-Python/mocked tests: everything the suites below don't own. | |
| - suite: tests | |
| args: >- | |
| --ignore=tests/test_gold_proofs.py | |
| --ignore=tests/test_oeis_isolation.py | |
| --ignore=tests/test_erdos_isolation.py | |
| --ignore=tests/test_erdos_autoformalized_isolation.py | |
| --ignore=tests/test_fc100_isolation.py | |
| --ignore=tests/test_singlefile_proof.py | |
| --ignore=tests/test_lean_vuln_e2e.py | |
| --ignore=tests/test_comparator_security.py | |
| --ignore=tests/test_comparator_primitives.py | |
| --ignore=tests/test_agent_image.py | |
| - suite: comparator-tests | |
| args: >- | |
| tests/test_singlefile_proof.py | |
| tests/test_lean_vuln_e2e.py | |
| tests/test_comparator_security.py | |
| tests/test_comparator_primitives.py | |
| - suite: isolation | |
| args: >- | |
| tests/test_oeis_isolation.py | |
| tests/test_erdos_isolation.py | |
| tests/test_erdos_autoformalized_isolation.py | |
| tests/test_fc100_isolation.py | |
| - suite: gold-proofs | |
| args: tests/test_gold_proofs.py | |
| # Contract test for the agent image's declared compute stack (builds | |
| # the agent image in-test, like the other container suites). | |
| - suite: agent-image | |
| args: tests/test_agent_image.py | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: uv.lock | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version-file: pyproject.toml | |
| - run: uv sync | |
| - name: Run ${{ matrix.suite }} | |
| run: uv run pytest ${{ matrix.args }} |