fix(build): commit vendored files the repo .gitignore stripped (#3425) #3512

Merged
mfreeman451 merged 1 commit from fix/netprobe-ebpf-vendor-gitignore into staging 2026-06-02 01:32:37 +00:00
Owner

Why

Follow-up to #3511. The publish run #15342 failed in the eBPF genrule during
cargo's offline checksum verification:

error: failed to calculate checksum of:
  .../vendor/camino/.claude/settings.json: No such file or directory

#3511 staged the vendored tree with plain git add, which silently skipped
paths matching repo-root .gitignore directory patterns. The vendored crates
legitimately ship those directories as source:

crate dir ignore rule
camino .claude/ .gitignore:24 .claude/
cc src/target/ .gitignore:223 target/
syn tests/debug/ .gitignore:222 debug/
wasip2, wasip3 wit/deps/ .gitignore:214 deps/

Each is referenced by the crate's .cargo-checksum.json, so on a fresh checkout
(the signing runner) cargo couldn't find them and failed. Local builds passed
only because the files were present-but-untracked on disk.

What

  • Add rust/netprobe/ebpf/vendor/.gitignore that re-includes those directory
    names under the vendor subtree, so future re-vendors stay verbatim.
  • Commit the 20 previously-stripped files.

Verified every on-disk vendor file (2120) is now tracked — cargo's checksum
verification will pass on any checkout. This unblocks the netprobe publish.

🤖 Generated with Claude Code

## Why Follow-up to #3511. The publish run #15342 failed in the eBPF genrule during cargo's **offline checksum verification**: ``` error: failed to calculate checksum of: .../vendor/camino/.claude/settings.json: No such file or directory ``` #3511 staged the vendored tree with plain `git add`, which **silently skipped** paths matching repo-root `.gitignore` directory patterns. The vendored crates legitimately ship those directories as source: | crate | dir | ignore rule | |---|---|---| | `camino` | `.claude/` | `.gitignore:24 .claude/` | | `cc` | `src/target/` | `.gitignore:223 target/` | | `syn` | `tests/debug/` | `.gitignore:222 debug/` | | `wasip2`, `wasip3` | `wit/deps/` | `.gitignore:214 deps/` | Each is referenced by the crate's `.cargo-checksum.json`, so on a fresh checkout (the signing runner) cargo couldn't find them and failed. Local builds passed only because the files were present-but-untracked on disk. ## What - Add `rust/netprobe/ebpf/vendor/.gitignore` that re-includes those directory names under the vendor subtree, so future re-vendors stay verbatim. - Commit the 20 previously-stripped files. Verified every on-disk vendor file (2120) is now tracked — cargo's checksum verification will pass on any checkout. This unblocks the netprobe publish. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(build): commit vendored files the repo .gitignore stripped (#3425)
Some checks failed
Secret Scan / gitleaks (pull_request) Successful in 45s
Fingerprint Licensing / netprobe-fingerprint-licenses (push) Failing after 1m25s
Fingerprint Licensing / netprobe-fingerprint-licenses (pull_request) Failing after 1m4s
Rust Tests / test-rust (rust/rdp-adapter, cargo) (push) Successful in 1m52s
lint / lint (push) Successful in 1m54s
Rust Tests / test-rust (//rust/rperf-server:rperf, rust/rperf-server, bazel) (push) Successful in 2m8s
Rust Tests / test-rust (//rust/netprobe:netprobe, //build/platforms:linux_aarch64_musl, rust/netprobe, bazel-static) (push) Successful in 2m15s
Rust Tests / test-rust (//rust/netprobe:netprobe, //build/platforms:linux_x86_64_musl, rust/netprobe, bazel-static) (push) Successful in 2m20s
lint / lint (pull_request) Successful in 2m8s
Rust Tests / test-rust (rust/rperf-client, cargo) (push) Successful in 3m6s
Rust Tests / test-rust (rust/trapd, cargo) (push) Successful in 3m6s
Rust Tests / test-rust (rust/consumers/zen, cargo) (push) Successful in 3m10s
Rust Tests / test-rust (rust/rdp-connector-probe, cargo) (push) Successful in 3m48s
Rust Tests / test-rust (rust/log-collector, cargo) (push) Successful in 3m53s
Rust Tests / test-rust (//rust/netprobe:netprobe_test, rust/netprobe, bazel-test) (push) Successful in 3m59s
CI / build (pull_request) Failing after 3m50s
Rust Tests / test-rust (rust/srql, cargo) (push) Successful in 5m15s
Elixir Quality / Elixir Quality (pull_request) Failing after 23m41s
Netprobe eBPF Verifier / Verify eBPF programs on Linux 5.15 (push) Has been cancelled
Netprobe eBPF Verifier / Verify eBPF programs on Linux 5.8 (push) Has been cancelled
Netprobe eBPF Verifier / Verify eBPF programs on Linux 6.x (push) Has been cancelled
Netprobe eBPF Verifier / Verify eBPF refusal on Linux 5.4 (push) Has been cancelled
4b6e65de27
PR #3511 staged the netprobe eBPF vendor tree with plain `git add`, which
silently skipped paths matching repo-root .gitignore directory patterns
(.claude/, target/, debug/, deps/): camino/.claude/settings.json,
cc/src/target/, syn/tests/debug/, wasip2/wit/deps/, wasip3/wit/deps/.

Those files are referenced by each crate's .cargo-checksum.json, so a fresh
checkout (the signing runner) failed the eBPF genrule during cargo's offline
checksum verification:

  error: failed to calculate checksum of:
    .../vendor/camino/.claude/settings.json: No such file or directory

(publish run #15342). Local builds passed only because the files were present
but untracked on disk.

Add rust/netprobe/ebpf/vendor/.gitignore re-including those directory names
under the vendor subtree, and commit the 20 previously-stripped files, so the
vendor tree is verbatim and the hermetic build's checksum verification passes
on any checkout. Verified: every on-disk vendor file (2120) is now tracked.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mfreeman451 left a comment

lgtm

lgtm
mfreeman451 deleted branch fix/netprobe-ebpf-vendor-gitignore 2026-06-02 01:32:37 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar!3512
No description provided.