Release v0.2.0: agent output contract, FAA eCFR adapter, MCP server #7
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, master] | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - name: Install package | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e ".[dev]" | |
| - name: Ruff | |
| run: ruff check src tests | |
| - name: Pytest (offline — real-sample tests skip) | |
| run: pytest -q | |
| - name: Adapter smoke | |
| run: | | |
| python - <<'PY' | |
| from easa_erules.adapters import get_adapter | |
| for authority in ("easa", "faa"): | |
| caps = get_adapter(authority).capabilities() | |
| assert caps.parse, f"{authority} adapter cannot parse" | |
| print("adapter ok:", caps.authority) | |
| PY | |
| - name: Real-sample smoke (pinned fetch) | |
| if: matrix.python-version == '3.12' | |
| continue-on-error: true | |
| run: | | |
| python tests/real_samples/fetch_samples.py | |
| pytest -q -m real_sample |