fix(build): include netprobe add-on schema in Elixir releases (#3425) #3504

Merged
mfreeman451 merged 1 commit from fix/netprobe-elixir-release-schema-input into staging 2026-06-01 17:27:21 +00:00
Owner

What

My netprobe AddonPackage seeder (#3502) reads addons/netprobe/config.schema.json at compile time (@config_schema File.read!(...) module attribute, mirroring the Bumblebee seeder). But addons/netprobe wasn't a declared input to the Elixir mix_release targets, so in the hermetic bazel sandbox the file is absent and serviceradar_core fails to compile:

== Compilation error in file lib/serviceradar/plugins/netprobe_addon_package_seeder.ex ==
** (File.Error) could not read file ".../addons/netprobe/config.schema.json": no such file or directory

That broke //elixir/{serviceradar_core_elx,serviceradar_agent_gateway,web-ng}:release_tar on the staging bazel-test lane (seen in invocation 8c6dcc71).

Fix

Mirror ef1f46dea (which did this for bumblebee-scan): add addons/netprobe to extra_dirs and //addons/netprobe:netprobe_manifest to extra_dir_srcs in the three mix_release BUILDs, so the schema is staged in the sandbox at the path the seeder reads. (addons/netprobe/BUILD.bazel already exposes the netprobe_manifest filegroup.)

Validation

  • bazel build --nobuild — all three release_tars analyze clean.
  • bazel cquery 'deps(//elixir/serviceradar_core_elx:release_tar)' → now includes //addons/netprobe:config.schema.json.
  • (Local mix_release isn't a reliable darwin check; CI validates the sandbox compile on linux.)

Note

The same staging run had two unrelated failures not addressed here: //go/pkg/agent:agent_test's TestPluginManagerOpenCameraRelayStreamWithWazeroPlugin (camera-relay/wazero) and //go/cmd/wasm-plugins/axis/internal/axisref:axisref_test.

🤖 Generated with Claude Code

## What My netprobe AddonPackage seeder (#3502) reads `addons/netprobe/config.schema.json` at **compile time** (`@config_schema File.read!(...)` module attribute, mirroring the Bumblebee seeder). But `addons/netprobe` wasn't a declared input to the Elixir `mix_release` targets, so in the hermetic bazel sandbox the file is absent and `serviceradar_core` fails to compile: ``` == Compilation error in file lib/serviceradar/plugins/netprobe_addon_package_seeder.ex == ** (File.Error) could not read file ".../addons/netprobe/config.schema.json": no such file or directory ``` That broke `//elixir/{serviceradar_core_elx,serviceradar_agent_gateway,web-ng}:release_tar` on the staging bazel-test lane (seen in invocation `8c6dcc71`). ## Fix Mirror `ef1f46dea` (which did this for `bumblebee-scan`): add `addons/netprobe` to `extra_dirs` and `//addons/netprobe:netprobe_manifest` to `extra_dir_srcs` in the three `mix_release` BUILDs, so the schema is staged in the sandbox at the path the seeder reads. (`addons/netprobe/BUILD.bazel` already exposes the `netprobe_manifest` filegroup.) ## Validation - `bazel build --nobuild` — all three `release_tar`s analyze clean. - `bazel cquery 'deps(//elixir/serviceradar_core_elx:release_tar)'` → now includes `//addons/netprobe:config.schema.json`. - (Local mix_release isn't a reliable darwin check; CI validates the sandbox compile on linux.) ## Note The same staging run had two **unrelated** failures not addressed here: `//go/pkg/agent:agent_test`'s `TestPluginManagerOpenCameraRelayStreamWithWazeroPlugin` (camera-relay/wazero) and `//go/cmd/wasm-plugins/axis/internal/axisref:axisref_test`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(build): include netprobe add-on schema in Elixir releases (#3425)
Some checks failed
Secret Scan / gitleaks (pull_request) Successful in 25s
lint / lint (push) Successful in 1m20s
lint / lint (pull_request) Successful in 1m15s
Golang Tests / test-go (push) Successful in 1m33s
CI / build (pull_request) Failing after 17m6s
Elixir Quality / Elixir Quality (pull_request) Failing after 21m10s
4af652bc23
The netprobe AddonPackage seeder (#3502) reads addons/netprobe/config.schema.json
at COMPILE time (`@config_schema File.read!(...)` module attribute, mirroring the
Bumblebee seeder). But addons/netprobe was not a declared input to the Elixir
mix_release targets, so in the hermetic bazel sandbox the file is absent and
serviceradar_core fails to compile:

    == Compilation error in file lib/serviceradar/plugins/netprobe_addon_package_seeder.ex ==
    ** (File.Error) could not read file ".../addons/netprobe/config.schema.json": no such file or directory

That broke //elixir/{serviceradar_core_elx,serviceradar_agent_gateway,web-ng}:release_tar
on staging (the bazel test lane). Mirror ef1f46dea (which did this for bumblebee-scan):
add `addons/netprobe` to `extra_dirs` and `//addons/netprobe:netprobe_manifest` to
`extra_dir_srcs` in the three mix_release BUILDs so the schema is staged in the sandbox.

Validated: `bazel build --nobuild` analyzes all three release_tars clean; cquery shows
//addons/netprobe:config.schema.json is now a release_tar dependency. (Local mix_release
isn't a reliable darwin check; CI validates the sandbox compile on linux.)

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

lgtm

lgtm
mfreeman451 deleted branch fix/netprobe-elixir-release-schema-input 2026-06-01 17:27:21 +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!3504
No description provided.