ci: skip parity on py3.14 (litellm caps Requires-Python <3.14) #14
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-linux: | |
| 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@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: cargo test | |
| run: cargo test --release | |
| - name: Install synaops + test deps | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pytest pytest-benchmark | |
| pip install . | |
| - name: Parity tests | |
| # Parity pulls in synalinks -> litellm. synaops itself supports the | |
| # whole 3.10-3.14 matrix (built/imported above), but the reference | |
| # stack constrains where the parity suite can run: | |
| # - synalinks requires Python >=3.11 (excludes 3.10) | |
| # - litellm declares Requires-Python <3.14 (excludes 3.14) | |
| # so the parity suite runs on 3.11-3.13. Revisit the 3.14 skip once | |
| # litellm raises its upper Python bound. | |
| if: matrix.python-version != '3.10' && matrix.python-version != '3.14' | |
| run: | | |
| pip install git+https://github.com/SynaLinks/synalinks.git | |
| pytest bench/test_parity.py -v | |
| test-cross: | |
| name: smoke ${{ matrix.os }} / py${{ matrix.python-version }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-latest, windows-latest] | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: cargo test | |
| run: cargo test --release | |
| - name: Install synaops | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install . | |
| - name: Import smoke test | |
| run: | | |
| python -c "import synaops; print(synaops.prefix_json({'a': 1}, 'pre'))" |