Skip to content

Conversation

@kzys
Copy link
Member

@kzys kzys commented Mar 18, 2022

gogoproto.customtype is used to have go-digest.Digest instead of string.
While it is convinient, protoc-gen-go doesn't support the extension
and blocks #6564.

Signed-off-by: Kazuyoshi Kato [email protected]

@kzys kzys force-pushed the remove-customtype branch 3 times, most recently from 7d3e6a8 to 9fb32c9 Compare March 18, 2022 22:55
gogoproto.customtype is used to have go-digest.Digest instead of string.
While it is convinient, protoc-gen-go doesn't support the extension
and that blocks containerd#6564.

Signed-off-by: Kazuyoshi Kato <[email protected]>
@kzys kzys force-pushed the remove-customtype branch from 9fb32c9 to 3eeeb94 Compare March 18, 2022 23:14
@theopenlab-ci
Copy link

theopenlab-ci bot commented Mar 19, 2022

Build succeeded.

@estesp
Copy link
Member

estesp commented Mar 21, 2022

is this something consumers would consider a breaking change to our API? seems that any gRPC consumers have to change their code (similar to the changes in this PR) to continue to use the API with a string versus a Digest type.

@kzys
Copy link
Member Author

kzys commented Mar 21, 2022

The change doesn't impact the wire format, but it impacts the auto-generated structs. Most request/response structs are not used by the clients who use our official Go client. The event structs may be the most external-facing one.

@dmcgowan dmcgowan added this to the 1.7 milestone Mar 21, 2022
@dmcgowan
Copy link
Member

is this something consumers would consider a breaking change to our API? seems that any gRPC consumers have to change their code (similar to the changes in this PR) to continue to use the API with a string versus a Digest type.

This shouldn't affect client users, but there are always users of any given go package that might run into this. For 1.7 release we should track all these potential issues, then we can decide on how to proceed with the next release versioning. The route we all seem to agree on is 1.7 with new features and limited client breaks alongside extending 1.6 support, but we can always fallback to breaking more stuff and releasing as 2.0, likely also extending 1.6 support.

Overall this change is better going forward as we have already done the effort of keeping the generated code out of our client interface. It is also more explicit for when a digest has been validated or not since now generated code users aren't just given an unvalidated digest.Digest.

Copy link
Member

@estesp estesp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants