build native Rust extension in workflows and make it the default … #28
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: PR Tests | |
| on: | |
| pull_request: | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v3 | |
| - name: Sync dependencies (locked) | |
| run: | | |
| uv sync --locked --all-groups | |
| - name: Run linters | |
| run: | | |
| make check-linting | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v3 | |
| - name: Sync dependencies (locked) | |
| run: | | |
| uv sync --locked --all-groups | |
| - name: Build & install native extension (maturin develop) | |
| uses: PyO3/maturin-action@v1 | |
| with: | |
| command: develop | |
| args: --release | |
| manylinux: "2_28" | |
| - name: Sanity check (import Rust extension) | |
| run: | | |
| python -c "import typeid; import typeid._base32; print('Rust extension OK')" | |
| - name: Run tests | |
| run: | | |
| make test | |
| - name: Run doc tests | |
| run: | | |
| make test-docs |