test: CLI smoke + cross-package seam tests; 3 latent bug fixes #1536
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: Python CI | |
| on: | |
| pull_request: | |
| branches: | |
| - '**' | |
| jobs: | |
| run-ci: | |
| runs-on: ${{ matrix.os }} | |
| defaults: | |
| run: | |
| shell: bash | |
| strategy: | |
| matrix: | |
| os: [macos-latest, ubuntu-latest] | |
| python-version: ['3.10', '3.11', '3.12'] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| # openadapt-ml is installed explicitly so the cross-package | |
| # seam tests (tests/test_import_integrity.py and the cmd_serve | |
| # contract in tests/test_cli_smoke.py) run instead of skipping. | |
| # Issue #999 shipped because this seam was never tested in CI. | |
| pip install -e ".[dev]" openadapt-ml | |
| - name: Lint with ruff | |
| run: | | |
| ruff check openadapt/ | |
| ruff format --check openadapt/ | |
| - name: Verify package imports | |
| run: | | |
| python -c "from openadapt.cli import main; print('CLI import OK')" | |
| python -c "from openadapt.version import __version__; print(f'Version: {__version__}')" | |
| - name: Run tests | |
| run: pytest tests/ -v |