Bump actions/checkout from 5 to 7 #20
Workflow file for this run
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: | |
| branches: [main] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e ".[dev]" | |
| - name: Run tests | |
| run: pytest -q | |
| - name: Smoke-test demos (offline, no API key) | |
| run: | | |
| python examples/01_quickstart.py | |
| python examples/02_context_collapse.py | |
| python examples/03_offline_vs_online.py | |
| ace demo | |
| - name: Smoke-test cookbook (offline, no API key) | |
| run: | | |
| python cookbook/01_first_playbook.py | |
| python cookbook/06_grow_and_refine.py | |
| python cookbook/07_inspect_and_report.py | |
| quality: | |
| # Lint, format-check, and type-check. Runs once on 3.12 with all extras so | |
| # mypy can resolve the optional SDK / OpenAI / numpy types. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Install with all extras | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e ".[all]" | |
| - name: Ruff lint | |
| run: ruff check ace tests cookbook examples | |
| - name: Ruff format check | |
| run: ruff format --check ace tests cookbook examples | |
| - name: Mypy type-check | |
| run: mypy ace | |
| integration: | |
| # Exercises the OpenAI Agents SDK integration with the real SDK installed | |
| # (no network: the Runner and OpenAI client are mocked in the tests) and | |
| # publishes an Allure test report + coverage as build artifacts. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Install with all extras | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e ".[all]" | |
| - name: Run full suite (incl. OpenAI Agents SDK integration) with Allure + coverage | |
| run: >- | |
| pytest -q --alluredir=allure-results | |
| --cov=ace --cov-report=term-missing --cov-report=xml --cov-fail-under=90 | |
| - name: Set up Java for Allure | |
| if: always() | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: "17" | |
| - name: Generate Allure HTML report | |
| if: always() | |
| run: | | |
| npm install -g allure-commandline --silent | |
| allure generate allure-results --clean -o allure-report | |
| - name: Upload Allure results | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: allure-results | |
| path: allure-results | |
| if-no-files-found: warn | |
| - name: Upload Allure HTML report | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: allure-report | |
| path: allure-report | |
| if-no-files-found: warn |