Skip to content

vector_vendor: checked-in binary, no network fetch - #429

Closed
Minipada wants to merge 1 commit into
jazzyfrom
feature/424-vector-vendor-checked-in-binary-no-netwo
Closed

vector_vendor: checked-in binary, no network fetch#429
Minipada wants to merge 1 commit into
jazzyfrom
feature/424-vector-vendor-checked-in-binary-no-netwo

Conversation

@Minipada

@Minipada Minipada commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace vector_vendor's file(DOWNLOAD ...) with the official Vector 0.57.0 release tarballs (x86_64 + aarch64) checked into vector_vendor/prebuilt/ as plain committed blobs — same bytes, same SHA256 checksums already pinned in CMakeLists.txt.
  • CMakeLists.txt now extracts and installs the Vector binary from the local checked-in tarball; no network access at build time.
  • vector_path/VECTOR_PATH override is unchanged.
  • Git LFS was evaluated and briefly used, then reverted. Make DC's vendor packages buildfarm-compatible and fix dc_simulation license metadata (prep for #134) #421's original plan explicitly said "no git-lfs"; mid-review I verified that assumption's stated reason (LFS content wouldn't survive bloom's release-tarball export step) doesn't actually hold — traced and empirically tested the real bloom/vcstools code, which does correctly smudge/archive real LFS content. LFS was reverted anyway for a simpler reason: GitHub's free LFS tier is 1GB/month, and each future Vector version bump would add ~106MB of new, non-deduplicated LFS objects — about 9 bumps before hitting that ceiling. A plain committed blob has no such quota; the tradeoff is the same ~106MB added to ordinary git history per bump instead. ADR-0002 documents both the trace (kept for the record) and the final call.
  • .pre-commit-config.yaml: scoped exclude on check-added-large-files for the two tarballs (2MB default cap, by design).
  • REUSE.toml: license annotation for the vendored tarballs (MPL-2.0, Vector Authors).
  • Updated doc/CI comments that described the old download behavior.

Test plan

  • git add -A && prek run --all-files --skip build-doc passes (REUSE, large-file, format checks all green)
  • Ran ./tools/e2e/scripts/verify_network_isolation.sh (Network-isolated build verification harness for vendor packages #423's harness): colcon build --packages-select aws_sdk_vendor vector_vendor under --network=none shows Finished <<< vector_vendor — vector_vendor builds with zero network access. aws_sdk_vendor still fails on its git clone as expected (tracked separately by aws_sdk_vendor: flattened source, no network fetch #425); network-isolation-check in ci.yaml stays if: false until that lands too.
  • Verified both checked-in tarballs' SHA256 match the pre-existing pinned checksums in CMakeLists.txt.
  • Ran this in real CI on this PR (build-workspace job) before the LFS revert — full workspace build + colcon test passed building vector_vendor from the checked-in file. One unrelated flaky test (MeasurementMissionOpenRmfTest, a pre-existing dc_measurements lifecycle-node race, reproduced identically on jazzy's own last green commit) passed cleanly on rerun with zero code changes.

Closes #424

🤖 Generated with Claude Code

https://claude.ai/code/session_019hV3DGw8o1QKsYbo8fQaS9

@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.93%. Comparing base (6403634) to head (ec17da8).

Additional details and impacted files
@@           Coverage Diff           @@
##            jazzy     #429   +/-   ##
=======================================
  Coverage   70.93%   70.93%           
=======================================
  Files         119      119           
  Lines        7401     7401           
=======================================
  Hits         5249     5249           
  Misses       2152     2152           
Flag Coverage Δ
cpp-jazzy 70.93% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Minipada
Minipada force-pushed the feature/424-vector-vendor-checked-in-binary-no-netwo branch 2 times, most recently from a0d0c72 to a843864 Compare August 27, 2026 18:04
… fetch

Replace vector_vendor's file(DOWNLOAD ...) with the official Vector 0.57.0
release tarballs (x86_64 + aarch64, same bytes/checksums already pinned)
checked into vector_vendor/prebuilt/. CMakeLists.txt now extracts and
installs from the local file instead of fetching it over the network,
so colcon build --packages-select vector_vendor succeeds under #423's
--network=none harness.

Not Git LFS: evaluated and briefly adopted mid-review after verifying
(by tracing and empirically testing the actual bloom/vcstools release
code) that LFS content does survive bloom's release-tarball export step,
contrary to #421's original assumption. Reverted anyway for a simpler
reason: GitHub's free LFS tier is 1GB storage/month, and each future
Vector bump would add ~106MB of new, non-deduplicated LFS objects --
about 9 bumps before hitting that ceiling. A plain committed blob has no
such quota; the tradeoff is ordinary git history growing by the same
~106MB per bump instead. See ADR-0002's amendment for the full reasoning
and the LFS trace, kept for the record in case LFS needs revisiting later.

Closes #424

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019hV3DGw8o1QKsYbo8fQaS9
Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
@Minipada

Copy link
Copy Markdown
Owner Author

Superseded by #432 — consolidated with #431 into a single PR so the checked-in binary never has to be added and then removed again across separate rebase-merged commits on jazzy.

@Minipada Minipada closed this Aug 28, 2026
@Minipada
Minipada deleted the feature/424-vector-vendor-checked-in-binary-no-netwo branch August 28, 2026 11:45
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