Revert: regenerate messages_solana_pb2 with a modern protoc - #40
Merged
Conversation
Restores keepkeylib/messages_solana_pb2.py to the committed version.
I regenerated it locally with a modern protoc to pick up the new KKSOLSW1
fields. That was wrong: every other *_pb2.py in this package is old-style
generated code (DESCRIPTOR = _descriptor.FileDescriptor(...)), and the CI test
container is Alpine 3.8 / Python 3.6.9, whose protobuf runtime cannot load the
modern descriptor_pool form. The result was:
messages_solana_pb2.py: _SOLANAGETADDRESS =
DESCRIPTOR.message_types_by_name['SolanaGetAddress']
AttributeError: 'NoneType' object has no attribute 'message_types_by_name'
which took down the whole python-integration job -- and with it
generate-test-report -- on every alpha run since it landed.
These bindings are regenerated with docker_build_pb.sh against the pinned
kktech/firmware image, and have been for years. That is the only supported
path, it produces the style this package needs, and there was no reason to
change it. Regenerating for the KKSOLSW1 tags belongs in that step, on a
machine with Docker running.
The KKSOLSW1 firmware and protocol work is unaffected: the .proto carries the
fields, the firmware implements and verifies them, and the four tests pass
against locally-generated bindings. Only the committed Python bindings revert
here, so CI stops failing on a file I should not have hand-generated.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Restores
keepkeylib/messages_solana_pb2.pyto the committed version.I regenerated it locally with a modern protoc to pick up the new KKSOLSW1 fields. That was wrong. Every other
*_pb2.pyhere is old-style generated code (DESCRIPTOR = _descriptor.FileDescriptor(...)), and the CI test container is Alpine 3.8 / Python 3.6.9, whose protobuf runtime cannot load the moderndescriptor_poolform:That took down the whole
python-integration-testsjob — and with itgenerate-test-report— on every alpha run since it landed.These bindings are regenerated with
docker_build_pb.shagainst the pinnedkktech/firmwareimage, and have been for years. That is the supported path, it produces the style this package needs, and there was no reason to change it. Regenerating for the KKSOLSW1 tags belongs in that step, on a machine with Docker running.The KKSOLSW1 firmware and protocol work is unaffected — the
.protocarries the fields, the firmware implements and verifies them, and the four tests pass against locally-generated bindings. Only the committed Python bindings revert here.