Skip to content

CI: the LDBC and explanation suites run once, against a release build - #987

Merged
frankmcsherry merged 1 commit into
TimelyDataflow:master-nextfrom
frankmcsherry:ddir-ci-split
Oct 21, 2026
Merged

frankmcsherry merged 1 commit into
TimelyDataflow:master-nextfrom
frankmcsherry:ddir-ci-split

Conversation

@frankmcsherry

@frankmcsherry frankmcsherry commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

One commit, on master-next with #985 merged, changing only .github/workflows/test.yml.

Where the time went. From #986's run, the Ubuntu stable job took about 15.5 minutes:

Step Time
cargo test 2.1 min
doc tests 0.6 min
LDBC smoke 0.2 min
SNB steps, against a debug server 9.1 min
release explanation sweep 3.1 min

Of the SNB steps' 9.1 minutes, the update-stream fixture took about 8: 173 s at 1 worker, 177 s at 4 workers, and 130 s in replay mode. The suites took 15–20 s each. Every matrix job, the macOS ones included, also built and ran the release explanation sweep.

The change

  • A new ldbc job, on ubuntu-latest with stable Rust, running alongside the matrix:
    • it builds ddir-server in release once;
    • it runs every LDBC step against it, and then the explanation sweep, which reuses the release build.
  • The matrix keeps cargo test and the doc tests, so the debug build's assertions still run there.
  • The update-stream fixture runs at 4 workers, strict and in replay mode. Replay mode's reuse check also runs the other worker count. The 1-worker strict run is dropped.

Expected effect. Locally, the new job's LDBC steps take 16 s against the release server, against about 60 s against debug. On CI I'd expect the job to be roughly a release build plus 2–3 minutes, and the matrix jobs about 3 minutes, but this PR's own run is the real measurement.

Trade-off. The LDBC programs no longer run with debug assertions, such as overflow checks, in the server. The server's own integration tests still do, in the matrix.

🤖 Generated with Claude Code

https://claude.ai/code/session_019XsakwFGwtESwZ1gSYwG4o

The Ubuntu stable job took about 15.5 minutes, 9 of them the SNB steps
against a debug server (the update-stream fixture alone about 8), and every
matrix job also built and ran the release explanation sweep. The server-
backed suites and the explanation sweep now run once, in their own job
alongside the matrix, against one release build: they check answers, not
timings, and the matrix keeps the debug build's assertions through
`cargo test`. The update-stream fixture runs at four workers, strict and
in replay mode (whose reuse check runs the other worker count); the
one-worker strict run is dropped.

Locally the job's LDBC steps take 16 s against the release server.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019XsakwFGwtESwZ1gSYwG4o
@frankmcsherry
frankmcsherry merged commit 1a2dfbb into TimelyDataflow:master-next Oct 21, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant