fix(ci): make the native add-on binary-size gate RBE-compatible (#3425) #3506
No reviewers
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar!3506
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/addon-binary-size-rbe-compat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
The netprobe publish (and the staging
tests(//...)lane) fail in the binary-size gate for two RBE-specific reasons — neither is a real size regression (the baseline is currently empty{}):1. Make target didn't download the built binaries.
make check_addon_binary_size_bazelrunsbazel build //build/native_addons:all_binariesunder the CI's--remote_download_minimal(.bazelrcremote_base), so the cross-compiled bundle binaries are built remotely but not downloaded locally. The nextcquery --output=files | check-addon-binary-size.shthen fails:→ add
--remote_download_outputs=allto that build.2.
binary_size_testsh_test fails closed on missinggsaon RBE.The test set
REQUIRE_GSA=1but runs on RBE workers where go-size-analyzer isn't installed (it'sgo installed only on the workflow runner), so it exits 2 ("failing closed because the tool is missing") — the//build/native_addons:binary_size_test FAILEDin the main CI.gsaisn't a hermetic Bazel tool yet, so drop toREQUIRE_GSA=0: the baseline size-regression check still runs, and the runner-sidemake addon_build_gatesstill produces the gsa breakdown.Follow-up
add-hermetic-native-addon-builds(task 1.1) will pingsaas a Bazel tool target and restoreREQUIRE_GSA=1; this is the minimal RBE-compat unblock so a netprobe publish can complete.🤖 Generated with Claude Code
The publish lane (and the staging `tests(//...)` lane) failed in the binary-size gate for two RBE-specific reasons, neither of which is a real size regression (the baseline is currently empty): 1. `make check_addon_binary_size_bazel` ran `bazel build //build/native_addons:all_binaries` under the CI's `--remote_download_minimal`, so the cross-compiled bundle binaries were built remotely but NOT downloaded locally; the subsequent `cquery --output=files | check-addon-binary-size.sh` then failed with "artifact not found: bazel-out/.../{netprobe,bumblebee_scan,...}". Add `--remote_download_outputs=all` so the artifacts land locally for the size check. 2. `//build/native_addons:binary_size_test` (sh_test) set `REQUIRE_GSA=1` and ran on RBE where go-size-analyzer isn't installed (it's `go install`ed only on the workflow runner), so it failed closed (Exit 2). gsa isn't a hermetic Bazel tool yet, so drop to `REQUIRE_GSA=0`: the size-regression baseline check runs without it, and the runner-side `make addon_build_gates` still produces the gsa breakdown. add-hermetic-native-addon-builds will pin gsa as a tool target and restore "1". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>lgtm