Skip to content

build(deps): bump protobuf 29.1 -> 30.0 to fix NixOS build#105

Merged
janickm merged 1 commit into
NVIDIA:mainfrom
janickm:bump-protobuf-30
May 11, 2026
Merged

build(deps): bump protobuf 29.1 -> 30.0 to fix NixOS build#105
janickm merged 1 commit into
NVIDIA:mainfrom
janickm:bump-protobuf-30

Conversation

@janickm
Copy link
Copy Markdown
Collaborator

@janickm janickm commented May 9, 2026

Summary

Why

Protobuf 29.x uses ctx.actions.run_shell with sed/cp in embed_edition_defaults, which fails on NixOS where those tools live in /nix/store and are not at /usr/bin. Protobuf 30.0 rewrites this to ctx.actions.run with proper argument passing (#19409), eliminating the shell dependency entirely.

rules_proto is archived at 7.1.0 (pinned to protobuf 29.1), so single_version_override is the correct way to bump.

Testing

  • bazel build //... — passes
  • bazel test --config=no-gpu //... — 25/28 pass (3 failures are pre-existing Py3.8 + PyTorch libtorch_cpu.so issue, unrelated)

TODO before merging

  • Verify Waymo dataset conversion still works (protobuf major version bump may affect proto serialization)

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 9, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@janickm janickm force-pushed the bump-protobuf-30 branch from 5634630 to f32df75 Compare May 11, 2026 10:27
@janickm janickm marked this pull request as ready for review May 11, 2026 10:51
@janickm janickm force-pushed the bump-protobuf-30 branch 4 times, most recently from 525f333 to 6ab5993 Compare May 11, 2026 11:34
Replace the archived rules_proto module (7.1.0) with a direct bazel_dep
on protobuf 30.0, and bump TensorFlow from 2.16 to 2.20:

- Remove rules_proto; load proto_library from @protobuf//bazel directly
  (Waymo dataset patch updated accordingly)
- Bump TF to >= 2.20, which requires protobuf >= 5.x — this eliminates
  the version conflict between pip protobuf (previously 4.25.6) and the
  Bazel protobuf module's Python runtime, removing the sys.path hack in
  tools/data_converter/waymo/deps.py
- Pin pip protobuf to 6.30.x to match Bazel protobuf 30.0, ensuring the
  protoc compiler and Python runtime are from the same release

Testing:
- bazel build //... passes
- bazel test --config=no-gpu //... passes (28/28 tests)
- Waymo dataset conversion verified end-to-end (198 frames)
@janickm janickm force-pushed the bump-protobuf-30 branch from 6ab5993 to 3e29b4a Compare May 11, 2026 12:40
@janickm janickm enabled auto-merge (rebase) May 11, 2026 12:49
@janickm janickm merged commit 40e0b2d into NVIDIA:main May 11, 2026
5 checks passed
@janickm janickm deleted the bump-protobuf-30 branch May 11, 2026 12:49
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