Skip to content

V0.2 rewrite

V0.2 rewrite #12

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
crate: [incr-core, incr-compute, incr-concurrent]
env:
CRATE: ${{ matrix.crate }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo test -p "$CRATE" --release
miri:
name: Miri
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: miri
- uses: Swatinem/rust-cache@v2
- run: cargo +nightly miri test -p incr-core --lib -- --test-threads=1
bench:
name: Benchmark
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
bench: [chain, operators]
env:
BENCH: ${{ matrix.bench }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo bench -p incr-core --bench "$BENCH" -- --output-format bencher | tee bench-output.txt
- name: Upload benchmark results
uses: actions/upload-artifact@v4
with:
name: bench-${{ matrix.bench }}
path: bench-output.txt
examples:
name: Example apps
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo build --release -p incr-concurrent-server -p incr-spreadsheet
python:
name: Python wheels
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
manifest:
- crates/incr-python/Cargo.toml
- crates/incr-concurrent-python/Cargo.toml
env:
MANIFEST: ${{ matrix.manifest }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: Swatinem/rust-cache@v2
- run: pip install maturin
- run: maturin build --release --manifest-path "$MANIFEST"
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace -- -D warnings
fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check