Skip to content

Prototype collective differences through reduce replay #1342

Prototype collective differences through reduce replay

Prototype collective differences through reduce replay #1342

Workflow file for this run

name: "Test Suite"
on:
push:
branches:
- master
pull_request:
jobs:
msrv:
name: Determine MSRV
runs-on: ubuntu-latest
outputs:
msrv: ${{ steps.msrv.outputs.msrv }}
steps:
- uses: actions/checkout@v7
- id: msrv
run: echo "msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)"/\1/')" >> "$GITHUB_OUTPUT"
test:
needs: msrv
strategy:
matrix:
os:
- ubuntu
- macos
# Linking fails on Windows.
# - windows
toolchain:
- stable
- ${{ needs.msrv.outputs.msrv }}
name: cargo test on ${{ matrix.os }}, rust ${{ matrix.toolchain }}
runs-on: ${{ matrix.os }}-latest
steps:
- uses: actions/checkout@v7
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
- name: Cargo test
run: cargo test --workspace --all-targets
- name: Cargo doc test
run: cargo test --doc
# One small server-backed workload; no data download or timing thresholds.
- name: LDBC-derived correctness smoke
if: matrix.os == 'ubuntu' && matrix.toolchain == 'stable'
run: |
cargo build -p ddir-server
for workers in 1 4; do
python3 interactive/server/bench/ldbc/run.py --server target/debug/ddir_server \
--workers "$workers" --rounds 1 --warmup 0 --batch-size 9 --changes 1
done
- name: Complete SNB read catalogue
if: matrix.os == 'ubuntu' && matrix.toolchain == 'stable'
run: |
python3 interactive/server/bench/ldbc/test_harness.py
python3 interactive/server/bench/ldbc/test_snb.py
for workers in 1 4; do
python3 interactive/server/bench/ldbc/suite.py --server target/debug/ddir_server \
--workers "$workers" --rounds 1 --warmup 0
done
python3 interactive/server/bench/ldbc/suite.py --server target/debug/ddir_server \
--mode maintained --workers 4 --rounds 1 --warmup 0
# The explanation suite's heavier sweeps (soundness regression, fuzz)
# are #[ignore]d for local debug runs but must gate merges. The metric
# report is skipped (it prints, it does not assert).
- name: Explanation suite (release, incl. ignored)
run: cargo test --release -p interactive --test explain -- --include-ignored --skip report_demand_excess
# Check for clippy warnings
clippy:
name: Cargo clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
- name: Cargo clippy
run: cargo clippy --workspace --all-targets
env:
RUSTFLAGS: "" # Don't make test fail on clippy