feat: add card2pmml() for PMML export #407
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: Test on Linux | |
| on: [push, pull_request] | |
| # Cancel previous runs on the same PR/branch | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| strategy: | |
| matrix: | |
| python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | |
| experimental: [false] | |
| include: | |
| - python-version: '3.14' | |
| experimental: true | |
| fail-fast: false | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.experimental }} | |
| name: Test py ${{ matrix.python-version }} | |
| env: | |
| CI: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| cache-dependency-path: | | |
| requirements.txt | |
| requirements-test.txt | |
| requirements-nn.txt | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Rust | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Build dependencies | |
| run: make build_deps | |
| - name: Build Rust extension | |
| run: make build | |
| - name: Install Python package | |
| run: | | |
| pip install -r requirements-nn.txt | |
| pip install .[all] | |
| - name: Verify Rust extension loaded | |
| run: python -c "import toad; from toad.merge import _chi_merge_rust; assert _chi_merge_rust is not None" | |
| - name: Run tests | |
| run: make test | |
| - name: Build distribution wheel | |
| run: make dist_wheel | |
| - name: Upload wheel | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheel-linux-py${{ matrix.python-version }} | |
| path: target/wheels/*.whl | |
| if-no-files-found: error |