ci(deps): guard unsupported FastAPI updates (#20) #61
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: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Python ${{ matrix.python-version }} / ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 20 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| python-version: ['3.12'] | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - name: Install dependencies | |
| run: python -m pip install -r requirements.txt | |
| - name: Verify dependency consistency | |
| run: python -m pip check | |
| - name: Contract compatibility (pinned cas-contracts v1.1) | |
| # Consumer-side gate: fails red if autogen's pinned CAS contract version | |
| # or the vendored v1.1 schema release drifts. See | |
| # tests/test_contract_compatibility.py for the validated contract surface. | |
| run: python -m pytest tests/test_contract_compatibility.py -q --tb=short | |
| - name: Run full test suite | |
| run: | | |
| python -m pip install pytest-cov | |
| python -m pytest -q --tb=short --cov=. --cov-report=xml | |
| - name: Compile Python sources | |
| run: python -m compileall autogen_starter autogen_dashboard maf_starter main.py -q | |
| - name: Validate dashboard JavaScript | |
| run: node --check autogen_dashboard/static/app.js |