jobset.run was changed on 16 October 2015 in e4c3561074
to return the number of failures and the result set. On 20 October 2016
in 5c691c634d jobset.run was changed to
allow jobs to be skipped, but the introduced code path only returned
the result set, giving jobset.run inconsistent return value semantics.
On 24 October 2016 7e9bd6ca9a introduced
a use of jobset.run's "skip_jobs" return value semantics, and on 8
March 2017 d159af31fc resolved
jobset.run's inconsistent return value semantics but failed to correct
run_tests_matrix's use of the inconsistent "skip_jobs" return value
semantics.
Since the build script of python grpcio-tools package
is very much entangled with the build system of protobuf,
and protobuf build scripts added a build step that
compiles js/embed.cc to create a preprocessor binary
that takes some .js files and generates a single
well_known_types_embed.cc which then gets linked to the
rest of protobuf source tree.
The generated code seems to be used only by the JS
portion of protoc, so is not expected to affect
our python build. Since we did not want to replicate
the entire build process of protobuf, we decided to
pre-generate the well_known_types_embed.cc and keep
it in our repo and then substitute the js/embed.cc
compiler file with it.