use NickCondron fsst changes #4101
This file contains 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: [ "develop" ] | |
pull_request: { } | |
workflow_dispatch: { } | |
permissions: | |
actions: read | |
contents: read | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
jobs: | |
build: | |
name: 'build' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/cleanup | |
- uses: ./.github/actions/setup-rust | |
- uses: spiraldb/actions/.github/actions/setup-uv@0.2.0 | |
- name: Python Lint - Format | |
run: uv run ruff format --check . | |
- name: Python Lint - Ruff | |
run: uv run ruff check . | |
- name: Rust Lint - Format | |
run: cargo fmt --all --check | |
- name: Rust Lint - Clippy | |
run: cargo clippy --all-features --all-targets | |
- name: Docs | |
run: cargo doc --no-deps | |
- name: Rust Test | |
run: cargo test --workspace --all-features | |
- name: Rust Build | |
run: cargo build --all-features --all-targets | |
- name: Pytest - PyVortex | |
run: | | |
uv run pytest --benchmark-disable test/ | |
working-directory: pyvortex/ | |
- name: Doctest - PyVortex | |
run: | | |
make clean && make doctest | |
working-directory: docs/ | |
- name: Ensure docs build - PyVortex | |
run: | | |
set -ex | |
(cd pyvortex && uv run maturin develop) | |
(cd docs && uv run make html) | |
- name: License Check | |
run: cargo install --locked cargo-deny && cargo deny check | |
- uses: rustsec/audit-check@v2.0.0 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
ignore: "RUSTSEC-2023-0086" | |
miri: | |
name: 'miri' | |
runs-on: ubuntu-latest | |
env: | |
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-backtrace=full | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/cleanup | |
- uses: ./.github/actions/setup-rust | |
- name: Run tests with Miri | |
run: cargo miri test | |
bench-test: | |
name: 'bench test' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/cleanup | |
- uses: ./.github/actions/setup-rust | |
- uses: spiraldb/actions/.github/actions/setup-uv@0.2.0 | |
# Required to run benchmarks | |
- name: Install DuckDB | |
uses: opt-nc/setup-duckdb-action@v1.0.9 | |
with: | |
version: v1.0.0 | |
- name: Rust Bench as test | |
run: cargo bench --bench '*[!noci]' -- --test |