-
Notifications
You must be signed in to change notification settings - Fork 3.4k
chore(deps): update dependency protocolbuffers/protobuf to v27 (main) #32767
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ceb3f7d
to
17e5693
Compare
rolinh
approved these changes
May 29, 2024
kaworu
approved these changes
May 29, 2024
/test |
@rolinh I think this PR will need more help. |
17e5693
to
b308079
Compare
06c9035
to
b8f7bf8
Compare
Renovate adds the "v" as part of the protoc version so update the script so that it works regardless. Signed-off-by: Robin Hahling <robin.hahling@gw-computing.net>
Signed-off-by: renovate[bot] <bot@renovateapp.com>
b8f7bf8
to
0767acd
Compare
Signed-off-by: Cilium Imagebot <noreply@cilium.io>
joestringer
approved these changes
May 29, 2024
It looks like we need to instruct the bot to run |
A recent commit updated the protobuf implementation, which generates different output code in the api directory. Apply those updates. Signed-off-by: Joe Stringer <joe@cilium.io>
It's triggered from the base image builds workflow, so we can trace it from there.
I've regenerated this manually for this PR for now, then we can follow up on automation here: #32804. |
/test |
rolinh
approved these changes
May 31, 2024
nebril
approved these changes
May 31, 2024
HadrienPatte
added a commit
that referenced
this pull request
Aug 23, 2025
With #41230, renovate will now handle updating those images, but since they haven't been updated in a while, there's some manual adjustments that are required before renovate can handle those. With cilium/image-tools#339 and cilium/image-tools#343, these two images no longer include their test files. This PR removes the test stage from the `runtime` image as it was just rerunning those tests and there are no `runtime` image tests. This PR also fixes the tests for the `builder` image. It turns out that those tests have been broken since #32767 because they haven't been running in CI for years. Those tests aren't running since we switched from the legacy docker engine to buildkit, see [details](https://docs.docker.com/build/building/multi-stage/#differences-between-legacy-builder-and-buildkit): > The legacy Docker Engine builder processes all stages of a Dockerfile leading up to the selected --target. It will build a stage even if the selected target doesn't depend on that stage. > > BuildKit only builds the stages that the target stage depends on. Future followups: * Does it make sense to have a test expect a specific version of `libprotoc` when this dependency is regularly automatically updated by renovate? With the current setup, this test will break everytime renovate updates `libprotoc`. I'd argue that the version string should be removed from the expected output so we only test that `protoc --version` runs sucessfully without expecting a given version string. * Consider either: * Update the CI to ensure those container structure tests are run on PRs * Remove container structure tests as after this PR, only the `builder` image will have [some](https://github.com/cilium/cilium/blob/a7de0143835a080750dbbde7285be37ab8599883/images/builder/test/spec.yaml) and all they test is that `protoc` is installed in the image Note: the release note for this PR is more focused on the user-visible change related to the update of the `bpftools` and `llvm` images. ```release images: Update `bpftools` and `llvm` images to reduce the size of the `cilium` image by 39MB (`amd64`) / 35MB (arm64) ``` Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
HadrienPatte
added a commit
that referenced
this pull request
Aug 23, 2025
With #41230, renovate will now handle updating those images, but since they haven't been updated in a while, there's some manual adjustments that are required before renovate can handle those. With cilium/image-tools#339 and cilium/image-tools#343, these two images no longer include their test files. This PR removes the test stage from the `runtime` image as it was just rerunning those tests and there are no `runtime` image tests. This PR also fixes the tests for the `builder` image. It turns out that those tests have been broken since #32767 because they haven't been running in CI for years. Those tests aren't running since we switched from the legacy docker engine to buildkit, see [details](https://docs.docker.com/build/building/multi-stage/#differences-between-legacy-builder-and-buildkit): > The legacy Docker Engine builder processes all stages of a Dockerfile leading up to the selected --target. It will build a stage even if the selected target doesn't depend on that stage. > > BuildKit only builds the stages that the target stage depends on. Future followups: * Does it make sense to have a test expect a specific version of `libprotoc` when this dependency is regularly automatically updated by renovate? With the current setup, this test will break everytime renovate updates `libprotoc`. I'd argue that the version string should be removed from the expected output so we only test that `protoc --version` runs successfully without expecting a given version string. * Consider either: * Update the CI to ensure those container structure tests are run on PRs * Remove container structure tests as after this PR, only the `builder` image will have [some](https://github.com/cilium/cilium/blob/a7de0143835a080750dbbde7285be37ab8599883/images/builder/test/spec.yaml) and all they test is that `protoc` is installed in the image Note: the release note for this PR is more focused on the user-visible change related to the update of the `bpftools` and `llvm` images. ```release images: Update `bpftools` and `llvm` images to reduce the size of the `cilium` image by 39MB (`amd64`) / 35MB (arm64) ``` Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
HadrienPatte
added a commit
that referenced
this pull request
Sep 3, 2025
With #41230, renovate will now handle updating those images, but since they haven't been updated in a while, there's some manual adjustments that are required before renovate can handle those. With cilium/image-tools#339 and cilium/image-tools#343, these two images no longer include their test files. This PR removes the test stage from the `runtime` image as it was just rerunning those tests and there are no `runtime` image tests. This PR also fixes the tests for the `builder` image. It turns out that those tests have been broken since #32767 because they haven't been running in CI for years. Those tests aren't running since we switched from the legacy docker engine to buildkit, see [details](https://docs.docker.com/build/building/multi-stage/#differences-between-legacy-builder-and-buildkit): > The legacy Docker Engine builder processes all stages of a Dockerfile leading up to the selected --target. It will build a stage even if the selected target doesn't depend on that stage. > > BuildKit only builds the stages that the target stage depends on. Future followups: * Does it make sense to have a test expect a specific version of `libprotoc` when this dependency is regularly automatically updated by renovate? With the current setup, this test will break everytime renovate updates `libprotoc`. I'd argue that the version string should be removed from the expected output so we only test that `protoc --version` runs successfully without expecting a given version string. * Consider either: * Update the CI to ensure those container structure tests are run on PRs * Remove container structure tests as after this PR, only the `builder` image will have [some](https://github.com/cilium/cilium/blob/a7de0143835a080750dbbde7285be37ab8599883/images/builder/test/spec.yaml) and all they test is that `protoc` is installed in the image Note: the release note for this PR is more focused on the user-visible change related to the update of the `bpftools` and `llvm` images. ```release images: Update `bpftools` and `llvm` images to reduce the size of the `cilium` image by 39MB (`amd64`) / 35MB (arm64) ``` Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
HadrienPatte
added a commit
that referenced
this pull request
Sep 4, 2025
With #41230, renovate will now handle updating those images, but since they haven't been updated in a while, there's some manual adjustments that are required before renovate can handle those. With cilium/image-tools#339 and cilium/image-tools#343, these two images no longer include their test files. This PR removes the test stage from the `runtime` image as it was just rerunning those tests and there are no `runtime` image tests. This PR also fixes the tests for the `builder` image. It turns out that those tests have been broken since #32767 because they haven't been running in CI for years. Those tests aren't running since we switched from the legacy docker engine to buildkit, see [details](https://docs.docker.com/build/building/multi-stage/#differences-between-legacy-builder-and-buildkit): > The legacy Docker Engine builder processes all stages of a Dockerfile leading up to the selected --target. It will build a stage even if the selected target doesn't depend on that stage. > > BuildKit only builds the stages that the target stage depends on. Future followups: * Does it make sense to have a test expect a specific version of `libprotoc` when this dependency is regularly automatically updated by renovate? With the current setup, this test will break everytime renovate updates `libprotoc`. I'd argue that the version string should be removed from the expected output so we only test that `protoc --version` runs successfully without expecting a given version string. * Consider either: * Update the CI to ensure those container structure tests are run on PRs * Remove container structure tests as after this PR, only the `builder` image will have [some](https://github.com/cilium/cilium/blob/a7de0143835a080750dbbde7285be37ab8599883/images/builder/test/spec.yaml) and all they test is that `protoc` is installed in the image Note: the release note for this PR is more focused on the user-visible change related to the update of the `bpftools` and `llvm` images. ```release images: Update `bpftools` and `llvm` images to reduce the size of the `cilium` image by 39MB (`amd64`) / 35MB (arm64) ``` Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
kind/community-contribution
This was a contribution made by a community member.
kind/enhancement
This would improve or streamline existing functionality.
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
release-note/misc
This PR makes changes that have no direct user impact.
renovate/stop-updating
Tell Renovate to stop updating PR
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
24.0
->v27.0
Release Notes
protocolbuffers/protobuf (protocolbuffers/protobuf)
v27.0
: Protocol Buffers v27.0Compare Source
Announcements
Compiler
descriptor.proto
reserved (protocolbuffers/protobuf@d2da463)C++
operator new
. (protocolbuffers/protobuf@11ef0ff)oneof
messages on arenas, poison them if ASAN. (protocolbuffers/protobuf@8826baf)string_type
for Edition 2023. (protocolbuffers/protobuf@d8251eb)operator new
. (protocolbuffers/protobuf@11ef0ff)ignore_unknown_fields
is set (#15887) (protocolbuffers/protobuf@86abf35)java_features.proto
tojava/core/srce/main/resources
(protocolbuffers/protobuf@274bc7f)ifndef
helper for C++ codegen. (protocolbuffers/protobuf@1087274)oneof
message fields even on arena on non-OPT builds. (protocolbuffers/protobuf@5c183bd)Arena::CreateMessage
for OSS. (protocolbuffers/protobuf@d4bfe52)reflection_visit_fieds
. (protocolbuffers/protobuf@cfc07df)GetStringView()
andGetRepeatedStringView()
with scratch. (protocolbuffers/protobuf@a3f5af0)ByteSizeLong
(protocolbuffers/protobuf@948ca2e)includingDefaultValueWithoutPresenceFields
andalways_print_without_presence_fields
toalwaysPrintFieldsWithNoPresence
in the C++, Py and Java JSON serializers for consistency. (protocolbuffers/protobuf@7d43131)always_print_without_presence_fields
option to the C++ JSON serializer. (protocolbuffers/protobuf@671b61b)ctype
is specified for non string/bytes fields (protocolbuffers/protobuf@8b4c7a1)ctype()
inDescriptorBuilder
for edition 2023 and beyond. (protocolbuffers/protobuf@307aeac)ctype
is used for fields other than string or bytes. (protocolbuffers/protobuf@403e207)HasExtension
andExtensionSize
functions to restrict to the (protocolbuffers/protobuf@9f5be07)Java
java
to reserved names to escape extensions tojava_
. This may break existing references to gencode for extensions namedjava
. (protocolbuffers/protobuf@c18cb95)java_features.proto
to keep it from leaking out. (protocolbuffers/protobuf@d56cb7d)StreamDecoder
. (protocolbuffers/protobuf@a94f57b)java_features.proto
tojava/core/srce/main/resources
(protocolbuffers/protobuf@274bc7f)java_features.proto
tokotlin_mvn
release (protocolbuffers/protobuf@369732a)getType()
s.t. messages using delimited encoding are consistently treated as groups for Java lite. (protocolbuffers/protobuf@9f001a9)UnsafeByteOperations
stable; removing experimental annotation. (protocolbuffers/protobuf@0070ac1)oneof
fields and extensions and fix/move unit tests to actually run. (protocolbuffers/protobuf@eb10ebd)ByteSizeLong
(protocolbuffers/protobuf@948ca2e)includingDefaultValueWithoutPresenceFields
andalways_print_without_presence_fields
toalwaysPrintFieldsWithNoPresence
in the C++, Py and Java JSON serializers for consistency. (protocolbuffers/protobuf@7d43131)includingDefaultValueWithoutPresenceFields
option to the Java parser which is intended to replace the currentincludingDefaultValueFields
. (protocolbuffers/protobuf@58baeb4)Kotlin
java_features.proto
tokotlin_mvn
release (protocolbuffers/protobuf@369732a)Csharp
JsonTokenizer
. (protocolbuffers/protobuf@68e6e3e)StringBuilder
instances in the .NETJsonTextTokenizer
. (protocolbuffers/protobuf@fac929d)Objective-C
Python
system_python.bzl
at previous location . (#16787) (protocolbuffers/protobuf@ffd753f)protoc
and the C++ runtime. (protocolbuffers/protobuf@b3b4497)ignore_unknown_fields
is set (#15887) (protocolbuffers/protobuf@86abf35)includingDefaultValueWithoutPresenceFields
andalways_print_without_presence_fields
toalwaysPrintFieldsWithNoPresence
in the C++, Py and Java JSON serializers for consistency. (protocolbuffers/protobuf@7d43131)including_default_value_without_presence_fields
to Python JSON serializer. (protocolbuffers/protobuf@25c6d34)PHP
PHP C-Extension
Ruby
memsize
functions for native types (#10291) (protocolbuffers/protobuf@87cbddd)ObjectCache
into an internal module. (protocolbuffers/protobuf@f824f6d)RepeatedField
toArray
(#15652) (protocolbuffers/protobuf@11eab86)RubyMessage.java
JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (protocolbuffers/protobuf@4d23fa0)Ruby C-Extension
memsize
functions for native types (#10291) (protocolbuffers/protobuf@87cbddd)ObjectCache
into an internal module. (protocolbuffers/protobuf@f824f6d)UPB (Python/PHP/Ruby C-Extension)
cmake
. (protocolbuffers/protobuf@6898451).proto
file order. (protocolbuffers/protobuf@8612d5e)memsize
functions for native types (#10291) (protocolbuffers/protobuf@87cbddd)Other
src/file_lists.cmake
for staleness (protocolbuffers/protobuf@cd337dd)system_python
toprotobuf_deps.bzl
. (protocolbuffers/protobuf@65ee123)v26.1
: Protocol Buffers v26.1Compare Source
Announcements
C++
Java
Kotlin
Ruby
Other
v26.0
: Protocol Buffers v26.0Compare Source
Announcements
syntax
and addedhas_presence?
/is_packed?
. (protocolbuffers/protobuf@dbd4dce)Message#to_h
, as previously announced. (protocolbuffers/protobuf@fd69938)syntax
and addedhas_presence?
/is_packed?
. (protocolbuffers/protobuf@dbd4dce)Message#to_h
, as previously announced. (protocolbuffers/protobuf@fd69938)setup.py
from Python. (#15708) (protocolbuffers/protobuf@5722aef)Compiler
C++
ctype
is used for fields other than string or bytes. (protocolbuffers/protobuf@624d65d)Java
Kotlin
Objective-C
unpack
helper for GPBAny with extension support. (protocolbuffers/protobuf@29fca8a)Rust
Python
setup.py
from Python. (#15708) (protocolbuffers/protobuf@5722aef)str(msg)
in Python print raw UTF-8 strings. Only invalid UTF-8 is escaped. (protocolbuffers/protobuf@f2a91b3)message_types_by_name
could return descriptors from other files. (protocolbuffers/protobuf@c05b320)PHP
PHP C-Extension
Ruby
syntax
and addedhas_presence?
/is_packed?
. (protocolbuffers/protobuf@dbd4dce)Message#to_h
, as previously announced. (protocolbuffers/protobuf@fd69938)Ruby C-Extension
syntax
and addedhas_presence?
/is_packed?
. (protocolbuffers/protobuf@dbd4dce)Message#to_h
, as previously announced. (protocolbuffers/protobuf@fd69938)UPB (Python/PHP/Ruby C-Extension)
#ifdef __cplusplus
. (protocolbuffers/protobuf@fc2d9da)field
is the very first field in the proto. (protocolbuffers/protobuf@e6ea44c)Configuration
📅 Schedule: Branch creation - "on monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.