The `make_grpcio_tools.py` rube-goldberg machinery relies on `bazel` to extract the list of files required to compile the `grpcio-tools` package that are provided by the `protobuf` submodule. In order to ensure that list is up to date, `check_grpcio_tools.py` sanity check does the same `bazel` query, and checks the full contents against the already existing list in the repository. This has the downside of requiring `bazel` to run that particular check at sanity test time, and flakiness has been seen there. This commit changes the code generation process to include the git hash of the submodule at the time `make_grpcio_tools.py` is invoked and stores it in the generated file and instead of doing the whole process at test time, the `check_grpcio_tools.py` sanity test simply checks the submodule version at test time and verifies it against the version included in the file by `make_grpcio_tools.py` thus removing the `bazel` dependency at test time and increasing test robustness and speed. |
||
|---|---|---|
| .. | ||
| buildgen | ||
| codegen/core | ||
| debug/core | ||
| distrib | ||
| dockerfile | ||
| doxygen | ||
| flakes | ||
| fuzzer | ||
| gce | ||
| gcp/utils | ||
| github | ||
| gource | ||
| http2_interop | ||
| internal_ci | ||
| interop_matrix | ||
| jenkins | ||
| line_count | ||
| mkowners | ||
| openssl | ||
| profiling | ||
| run_tests | ||
| README.md | ||
| lsan_suppressions.txt | ||
| tsan_suppressions.txt | ||
| ubsan_suppressions.txt | ||
README.md
buildgen: Template renderer for our build system.
distrib: Scripts to distribute language-specific packages and other distribution-related helper scripts.
dockerfile: Docker files to test gRPC.
doxygen: gRPC C/C++ documentation generation via Doxygen.
gce: Scripts to help setup testing infrastructure on GCE.
gcp: Helper scripts for interacting with various services on GCP (like Google container engine, BigQuery etc)
internal_ci: Support for running tests on an internal CI platform.
interop_matrix: Scripts to build, upload, and run gRPC clients in docker with various language/runtimes.
jenkins: Support for running tests on Jenkins.
run_tests: Scripts to run gRPC tests in parallel.
run_tests/performance: See the README for more notes on the performance tests.