Skip to content

deps: update pandas requirement from >=2.2.3 to >=2.3.3 (#207) #472

deps: update pandas requirement from >=2.2.3 to >=2.3.3 (#207)

deps: update pandas requirement from >=2.2.3 to >=2.3.3 (#207) #472

Workflow file for this run

name: Unit tests
on:
push:
branches:
- main
pull_request:
workflow_dispatch: {}
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
RUSTFLAGS: "--cfg=ci_run"
CI: true # insta snapshots behave differently on ci
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
LLVM_VERSION: "14.0"
LLVM_FEATURE_NAME: "14-0"
jobs:
check-rs:
name: Checks (Rust)
runs-on: ubuntu-latest
env:
# Fail on rust compiler warnings.
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v7
- uses: mozilla-actions/sccache-action@v0.0.11
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Check formatting
run: cargo fmt -- --check
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: ${{ env.LLVM_VERSION }}
- name: Run clippy
run: cargo clippy --all-targets --all-features --workspace -- -D warnings
- name: Build docs
run: cargo doc --no-deps --all-features --workspace
env:
RUSTDOCFLAGS: "-Dwarnings"
test-rs:
runs-on: ubuntu-latest
name: Tests (Rust stable, all features)
steps:
- uses: actions/checkout@v7
- uses: mozilla-actions/sccache-action@v0.0.11
- id: toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: "stable"
- name: Configure default rust toolchain
run: rustup override set ${{steps.toolchain.outputs.name}}
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: ${{ env.LLVM_VERSION }}
- name: Build with all features
run: cargo test --verbose --workspace --all-features --no-run
- name: Tests with all features
run: cargo test --verbose --workspace --all-features
check-py:
runs-on: ubuntu-latest
name: Checks (Python ${{ matrix.python-version }})
strategy:
matrix:
python-version: ["3.11"]
steps:
- uses: actions/checkout@v7
- uses: mozilla-actions/sccache-action@v0.0.11
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- name: Set up uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Setup dependencies
run: uv sync --python ${{ matrix.python-version }}
- name: Build Python extension
run: uv run maturin develop -m zixy-py/Cargo.toml
- name: Ruff
working-directory: zixy-py
run: |
uv run ruff format --check
uv run ruff check
- name: MyPy
working-directory: zixy-py
run: |
uv run mypy zixy
tests-py:
runs-on: ubuntu-latest
name: Tests (Python ${{ matrix.python-version }})
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v7
- uses: mozilla-actions/sccache-action@v0.0.11
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- name: Set up uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Setup dependencies
run: uv sync --python ${{ matrix.python-version }}
- name: Build Python extension
run: uv run maturin develop -m zixy-py/Cargo.toml
- name: Run python tests
run: uv run pytest --cov=./ --cov-report=xml
- name: Upload coverage report artifact
uses: actions/upload-artifact@v7
with:
name: coverage-python-${{ matrix.python-version }}
path: ./coverage.xml