Skip to content

Install Cargo tools#9

Open
ch-sc wants to merge 12 commits into
branch-54from
fix-ci
Open

Install Cargo tools#9
ch-sc wants to merge 12 commits into
branch-54from
fix-ci

Conversation

@ch-sc

@ch-sc ch-sc commented Jul 13, 2026

Copy link
Copy Markdown

Summary

  1. install cargo tools (cargo-hack/nextest/minimal-versions)
  2. install uv; fix expect_used in Reversed::validate
  3. install flatc; fix clone_on_ref_ptr in segment cache + scan task
  4. rustdoc lint fixes; gate benchmark tuning to upstream
  5. apply nightly rustfmt to patched/mod.rs
  6. install doxygen for Python docs
    etc.

Closes: #000

Testing

ch-sc and others added 4 commits July 13, 2026 11:22
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
- Install uv on the fork fallback path so python-lint/test jobs that
  call uvx/uv run work outside the prebuilt images.
- Replace is_some()+expect() in Reversed::validate with a let-else that
  bails, satisfying the workspace-wide clippy::expect_used = deny lint.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
- Install flatc via setup-flatc in the generated-files job on the fork,
  matching how uv/cargo-hack are handled; upstream bakes it into the AMI.
- Replace .clone() on Arc with Arc::clone(&..) in vortex-layout
  segment cache and scan task test to satisfy clippy::clone_on_ref_ptr.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
ch-sc and others added 8 commits July 13, 2026 16:55
- Fix rustdoc::private_intra_doc_links in reversed/mod.rs (drop link to
  private execute module) and rustdoc::redundant_explicit_links in
  erased.rs (use the shortcut intra-doc link form).
- Gate the benchmark tuning + benchmark run steps in Python (test) to
  upstream; scripts/setup-benchmark.sh (aa-teardown etc.) requires the
  self-hosted prebuilt runner and aborts on GitHub-hosted ubuntu-latest.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
cargo +nightly fmt (NIGHTLY_TOOLCHAIN) normalizes a blank line inside the
doc-comment diagram in patched/mod.rs; commit the formatting so
'Rust (lint) - Format' (cargo fmt --all --check) passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
docs/conf.py requires doxygen on PATH to build the C++ API docs via
breathe; it is preinstalled on the prebuilt images but missing on
GitHub-hosted runners, so 'make doctest'/'make html' aborted. Install it
via ssciwr/doxygen-install on the fork before the docs steps.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
- Bump crossbeam-epoch 0.9.18 -> 0.9.20 (RUSTSEC-2026-0204, patched
  >= 0.9.20), matching upstream develop.
- Bump cxx 1.0.194 -> 1.0.195 (RUSTSEC-2026-0202, patched >= 1.0.195).
- Ignore RUSTSEC-2026-0194/0195 (quick-xml) in deny.toml; no patched
  release exists and it is a transitive dependency, matching upstream.

cargo deny check advisories now passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
Forks run on GitHub-hosted runners without sccache, so uncached builds
straddle the 30m timeout:
- build-rust: 30 -> 60m on forks (all-features/default builds).
- rust-instrumented coverage + sanitizer: 30 -> 90m on forks.

Disable workflows that require upstream secrets/infrastructure and can
never pass on a fork:
- Codspeed bench shards (need CODSPEED_TOKEN).
- Publish Dry Runs (git deps are unpublishable; some jobs target the
  upstream self-hosted runners and hang waiting for a runner).

Upstream timeouts and behavior are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
The sanitizer jobs hardcode *_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer,
which the prebuilt image ships but GitHub-hosted runners do not. Without
it TSan cannot symbolize frames, so vortex-ffi/tsan_suppressions.txt
(benign crossbeam-epoch/deque and oneshot fence races surfaced via moka's
cache) never matches and the job fails on false positives. Symlink an
available llvm-symbolizer to the expected path on forks.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
Rust tests (coverage) instruments and runs the whole workspace test
suite, exhausting memory on the ubuntu-latest runners forks use ('hosted
runner lost communication with the server'); upstream runs it on larger
self-hosted runners and uploads via Codecov OIDC that forks lack. Gate
the job to upstream. tsan/asan/miri remain enabled on forks.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
With an invalid path the async writer can fail such that both
vx_array_sink_push and vx_array_sink_close write an error into the same
out-param; close overwrote the push error pointer and the test only freed
the final error, leaking the push error (intermittently caught by LSan
depending on writer-task timing). Free the push error before reusing the
variable for close.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Schulze <christoph.schulze@polygon.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant