Bazel/build errors initial #2231
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!2231
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refs/pull/2231/head"
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?
Imported from GitHub pull request.
Original GitHub pull request: #1651
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/1651
Original created: 2025-09-22T03:25:45Z
Original updated: 2025-09-22T03:31:00Z
Original head: carverauto/serviceradar:bazel/build_errors_initial
Original base: main
Original merged: 2025-09-22T03:30:56Z by @mfreeman451
PR Type
Enhancement
Description
Fix Bazel build system configuration and dependencies
Resolve Rust compilation errors with OpenSSL and protobuf
Add OCaml toolchain compatibility for remote execution
Configure Perl hermetic build support
Diagram Walkthrough
File Walkthrough
12 files
Add TypeScript declarations for Next.js configConfigure Next.js standalone output modeAdd Perl configure wrapper scriptCreate OCaml local execution rulesAdd Perl module extension for downloadsUpdate ignored directories for BazelConfigure remote execution and OCaml strategiesAdd RBE platforms and cwalk aliasAdd protoc environment for build scriptConfigure protoc for Rust build scriptFix protoc configuration and dependenciesAdd strip import prefix configuration6 files
Fix Rust pattern matching syntax errorsRefactor nested if-let pattern matchingFix OCaml config tool path resolutionFix proto dependencies and import pathsUpdate proto library dependencies and compilersFix proto dependencies and import paths2 files
Add dependencies and configure toolchainsEnable OpenSSL vendored feature flag14 files
Imported GitHub PR comment.
Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1651#issuecomment-3316636831
Original created: 2025-09-22T03:26:29Z
PR Reviewer Guide 🔍
Here are some key observations to aid the review process:
Possible Issue
The attribute extraction now only records string values; if non-string attributes were previously expected, they are silently ignored, potentially reducing observability. Confirm intended behavior and consider handling other types or logging when ignored.
Platform Alias
The alias for
cwalkuses@@cwalk+//:cwalk, which looks unusual and may not resolve depending on module naming. Verify the repository name and label are correct to avoid build failures.Remote Config
Changing remote platforms to
//:rbe_linux_amd64/arm64requires these platform targets to exist in the root package and be registered in toolchains. Ensure all RBE workers have matching containers and constraints; otherwise remote builds may fail.Imported GitHub PR comment.
Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1651#issuecomment-3316638632
Original created: 2025-09-22T03:27:40Z
PR Code Suggestions ✨
Explore these optional code suggestions:
Consolidate complex build system workarounds
The PR's custom build workarounds for dependencies like OpenSSL, Perl, and OCaml
are complex and fragile. It is recommended to adopt more standard,
community-supported solutions like pre-built toolchains or established Bazel
rulesets to enhance long-term stability.
Examples:
MODULE.bazel [349-403]
ocaml/srql/ocaml_local_rules.bzl [1-46]
Solution Walkthrough:
Before:
After:
Suggestion importance[1-10]: 8
__
Why: The suggestion correctly identifies that the PR adds complex, custom workarounds for
OpenSSL,Perl, andOCamlbuilds, and accurately points out the long-term maintenance burden, which is a significant architectural concern.Handle all span attribute types
Expand the span attribute extraction logic to handle non-string values (e.g.,
integers, booleans) by converting them to strings, ensuring no attribute data is
lost.
cmd/otel/src/lib.rs [205-209]
Suggestion importance[1-10]: 7
__
Why: The suggestion correctly identifies that only string attributes are processed, which could lead to incomplete observability data, and proposes a robust solution to handle various data types.
Refactor KV config fetching logic
Refactor the key-value store configuration logic to fetch the configuration only
once, using the result for both loading and bootstrapping to improve efficiency
and avoid redundant network requests.
cmd/otel/src/main.rs [23-41]
Suggestion importance[1-10]: 6
__
Why: The suggestion correctly points out that the KV store logic can be made more efficient by reducing network calls, although the PR already refactored the code to be more readable.