Skip to content

Draft: Regenerate protos with libprotoc 3.21.12

Jeremiah Bonney requested to merge jbonney/recompile-protos into master

Before raising this MR, consider whether the following are required, and complete if so:

  • Unit tests
  • Metrics
  • Documentation update(s)

If not required, please explain in brief why not.

Description

This PR recompiles all the protos using libprotoc version 3.21.12, which seems to be the version installed via grpc_tools. Versions from 3.20.0 onward generate backwards incompatible code with earlier versions, so I've also added that constraint in requirements/requirements.in.

An unfortunate side effect of protos generated via the newer versions of protoc is that pylint appears to not work correctly and fails with numerous (no-name-in-module) errors. See https://github.com/protocolbuffers/protobuf/issues/10372 for the upstream issue on the protobuf side and https://github.com/pylint-dev/pylint/issues/4987 on the pylint side for not supporting .pyi files.

I'm not sure exactly how best to proceed with that. We could require a version of protoc less than 3.20.0 but I couldn't figure out a way to express that in our requirements.in, as I was getting 3.21.12 no matter what I tried. Another way we could go is to silence this warning, although I kind of hoped it would be silenced via ignored-modules but that doesn't appear to work.

Changes proposed in this merge request:

Merge request reports