Add phase-aware episode budget protocol #79
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 | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: install | |
| run: pip install -e '.[dev,dsh,pi]' | |
| - name: configure git identity (snapshot tests) | |
| run: | | |
| git config --global user.email ci@proteus | |
| git config --global user.name proteus-ci | |
| - name: lint | |
| run: ruff check . | |
| - name: tests | |
| run: pytest tests/ -q | |
| - name: offline runner (the no-pytest path must stay alive) | |
| run: python tests/run_offline.py | |
| distribution: | |
| name: Installed wheel and sdist | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - run: python -m pip install --disable-pip-version-check build==1.3.0 | |
| - run: python -m build | |
| - name: Wheel scaffolder works outside the checkout | |
| run: | | |
| python -m venv /tmp/proteus-wheel | |
| /tmp/proteus-wheel/bin/pip install --disable-pip-version-check --no-deps dist/*.whl | |
| mkdir /tmp/proteus-wheel-out | |
| cd /tmp/proteus-wheel-out | |
| /tmp/proteus-wheel/bin/python -c 'import importlib.metadata, proteus; assert importlib.metadata.version("proteus-evolve") == proteus.__version__' | |
| /tmp/proteus-wheel/bin/python -m proteus.scaffold adapter WheelHarness | |
| /tmp/proteus-wheel/bin/proteus check --harness wheel:WheelHarness --episode | |
| - name: Sdist scaffolder works outside the checkout | |
| run: | | |
| python -m venv /tmp/proteus-sdist | |
| /tmp/proteus-sdist/bin/pip install --disable-pip-version-check --no-deps dist/*.tar.gz | |
| mkdir /tmp/proteus-sdist-out | |
| cd /tmp/proteus-sdist-out | |
| /tmp/proteus-sdist/bin/python -m proteus.scaffold benchmark package_task | |
| /tmp/proteus-sdist/bin/python -c 'import package_task; assert package_task.TASK.id == "package_task"' |