Repository navigation
contract: normalize_kleene returns WhereSet (WHERE-terminal only); GKAT Where/Check negation duality pinned #31
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: dir-rmap probe | |
| # `crates/dir-rmap-probe` (D-RMAP-DIR-1, lab only) is workspace-excluded (own | |
| # [workspace] root, like lance-graph-dir-sim, which it depends on), so no | |
| # other job builds it. It compares compiled membership closure and a 256-slot | |
| # focus against dir-sim's own walks and a crepe oracle; the benchmark run also | |
| # asserts equivalence at 8,000 users before it times anything. | |
| on: | |
| pull_request: | |
| paths: | |
| - crates/dir-rmap-probe/** | |
| - crates/lance-graph-dir-sim/** | |
| - crates/lance-graph-quack/** | |
| - crates/lance-graph-mask-risc/** | |
| - crates/lance-graph-r2il/** | |
| - crates/lance-graph-contract/** | |
| - .github/workflows/dir-rmap-probe.yml | |
| - rust-toolchain.toml | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - crates/dir-rmap-probe/** | |
| - crates/lance-graph-dir-sim/** | |
| - crates/lance-graph-quack/** | |
| - crates/lance-graph-mask-risc/** | |
| - crates/lance-graph-r2il/** | |
| - crates/lance-graph-contract/** | |
| - .github/workflows/dir-rmap-probe.yml | |
| - rust-toolchain.toml | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| CARGO_INCREMENTAL: "0" | |
| CARGO_PROFILE_DEV_DEBUG: "0" | |
| CARGO_PROFILE_TEST_DEBUG: "0" | |
| RUST_BACKTRACE: "1" | |
| jobs: | |
| probe: | |
| name: dir-rmap probe | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 45 | |
| defaults: | |
| run: | |
| working-directory: lance-graph | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: lance-graph | |
| persist-credentials: false | |
| - name: Checkout AdaWorldAPI/ndarray (sibling dependency) | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: AdaWorldAPI/ndarray | |
| path: ndarray | |
| persist-credentials: false | |
| - name: Checkout AdaWorldAPI/OGAR (sibling dependency) | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: AdaWorldAPI/OGAR | |
| path: OGAR | |
| persist-credentials: false | |
| - name: Setup rust toolchain (pinned by rust-toolchain.toml) | |
| run: rustup show | |
| # `.cargo/config.toml` builds with target-cpu=native; spell it out as | |
| # this runner's feature list so a cached artifact never runs on a CPU | |
| # without its features (same step as dir-sim-persist.yml). | |
| - name: Resolve target-cpu=native for this runner | |
| id: cpu | |
| run: | | |
| flags=$(.github/scripts/resolve-native-rustflags.sh) | |
| echo "RUSTFLAGS=$flags" >> "$GITHUB_ENV" | |
| hash=$(printf %s "$flags" | sha256sum | cut -c1-16) | |
| echo "flags=$hash" >> "$GITHUB_OUTPUT" | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: cpu-${{ steps.cpu.outputs.flags }} | |
| workspaces: lance-graph/crates/dir-rmap-probe | |
| - name: fmt | |
| run: cargo fmt --manifest-path crates/dir-rmap-probe/Cargo.toml --check | |
| - name: clippy | |
| run: cargo clippy --manifest-path crates/dir-rmap-probe/Cargo.toml --all-targets -- -D warnings | |
| - name: test | |
| run: cargo test --release --manifest-path crates/dir-rmap-probe/Cargo.toml | |
| - name: benchmark (asserts equivalence at 8,000 users; timings are not gated) | |
| env: | |
| # The full sweep (1,2,4,8) is a local run; CI keeps the smaller two. | |
| DIR_RMAP_SWEEP: "1,2" | |
| run: cargo run --release --manifest-path crates/dir-rmap-probe/Cargo.toml --example bench |