* Refactor end2end tests to exercise each EventEngine
* fix incorrect bazel_only exclusions
* Automated change: Fix sanity tests
* microbenchmark fix
* sanitize, fix iOS flub
* Automated change: Fix sanity tests
* iOS fix
* reviewer feedback
* first pass at excluding EventEngine test expansion
Also caught a few cases where we should not test pollers, but should
test all engines. And two cases where we likely shouldn't be testing
either product.
* end2end fuzzers to be fuzzed differently via EventEngine.
* sanitize
* reviewer feedback
* remove misleading comment
* reviewer feedback: comments
* EE test_init needs to play with our build system
* fix golden file test runner
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
* Add bazel cpp distribtest for grpc_cc_library
* Add new directory to bazelignore
* Try changing to workspace differently
* Debug cd
* Fix bazel wrapper
* Yet more debug
* Try again
* Clean up
* Sanity fixes
* Run per-language distribtests even if overall build fails
* WIP
* Add gevent test suite run under Bazel.
* Fix things up
* Yapf
* Fix up Bazel files
* Make py_grpc_test fancier
* Attempt to fix Windows RBE
* Attempt to kick GitHub
* Fix Python 2 runs
* Yet more fixes
* And the patch file too
* I am an idiot
* Mark gevent tests flaky
* Try to make rules_python more tolerant
* Typo
* Exclude reconnect test from gevent
* Remove unnecessary parts of patch
* Buildifier
* You saw nothing
* isort
* Move py_grpc_test to an internal-only file
* Review comments
* More reviewer comments
* Review
* Add initial changes for gevent
* WIP. Run completion_queue_next in a threadpool
* WIP.
* WIP
* Re-remove skip annotation
* Finally working
* Reactivate tests
* Clean up
* Move C++ threading utilities to grpc.pxi
* Unbreak sync stack
* Refix test flake
* WIP. Trying to get things working properly
* Move test stuff to test runner
* Clean up
* Can't handle exceptions if you don't compile with exceptions
* Remove debug stuff unintentionally left in
* Add greenlet switch loggging and fix threading issue
* Only run a greenlet scheduling greenlet when there are open channels
* Format
* Add threadpool modifications to old runner
* And actually import gevent
This change moves the logic for computing the package name part of an
import directory from python_rules.bzl to protobuf.bzl, and reinstates
the workspace root part of the directory. The effect is that it is now
possible for a py_library_rule to depend on a proto_library in a
different repository whose source files are generated.
This change replaces the simple `basename` logic with a more general
"remove prefix" logic. This allows py_proto_library to work even when
the input proto_library's sources are contained in strict
subdirectories of their package. (This situation is not uncommon when
using remote, non-Bazel repositories that only get a single BUILD file.)
* Fix all lint errors in repo.
* Use strict buildifier by default
* Whoops. That file does not exist
* Attempt fix to buildifier invocation
* Add missing copyright
* Upgrade benchmark to 1.6.0 and remove hacks.
Details:
- GRPC currently uses an old version of benchmark (from Sept 2020). It should probably upgrade because downstream, in google3, everyone is already using 1.6.0)
- Removed the hack added in PR/27629 to allow benchmarks in GRPC to continue to work with both pre-1.6.0 and 1.6.0 benchmarks.
(This was needed to allow importing benchmarks 1.6.0 into google3 without breaking GRPC)
* fix typo
* update third_party/benchmark and check_submodules.sh
* Upmerge from v1.41.x (#27821)
* Bump version to v1.41.0-pre1 (#27371)
* Bump version to v1.41.0-pre1
* Regenerate projects
* [Backport #27373] add testing_version flag (#27385)
* Bump version to v1.41.0-pre2 (#27390)
* Bump version to v1.41.0-pre2
* Regenerate projects
* Core 19: bump core version from 18.0.0 to 19.0.0 (#27394)
* Bump core version to 19.0.0
* Regenerate projects
* fix use-after-free metadata corruption in C# when receiving response headers for streaming response calls (#27398)
* Final release: bump up version to 1.41.0 (#27476)
* Bump version to 1.41.0
* Regenerate projects
* xds_k8s_test: increase timeout to 3 hours due to recent timeout failure (#27580)
* Revert "xds_k8s_test: increase timeout to 3 hours due to recent timeout failure (#27580)" (#27590)
This reverts commit da0c7d680f.
* Update root pem certs (backport of #27539) (#27619)
* Update boringssl to the latest (#27606) (#27625)
* Change boringssl branch name
* update submodule boringssl-with-bazel with origin/main-with-bazel
* update boringssl dependency to main-with-bazel commit SHA
* regenerate files
* Increment podspec version
* generate boringssl prefix headers
* Bumping up version to v1.41.1 (#27699)
* Bump version to v1.41.1
* Regenerate projects
* [Backport][v1.41.x] xds-k8s tests: Use test driver from master branch (#27695)
Backports sourcing the test driver install script from master.
This is a backport of #27389, #27462 and #27658:
* Add missing quatation marks.
These were missed when creating the Python virtual env.
* xds-k8s tests: Use test driver from master branch (#27462)
Instead of directly sourcing the test driver provisioning script from the same branch, the script is downloaded (with curl) and sourced from the master branch.
This allows changes made to the test driver to be reflected in all future release branches. A separate PR will backport this change to existing release branches.
All cluster definitions are also moved to the install script, allowing any cluster changes to be done in one place in the master branch.
* xds_k8s tests: Fix xlang install script sourcing. (#27658)
This change sources the test driver install script correctly for the xlang tests.
This fixes a mistake in #27462 where this was missed.
* Fix Python Interop (#27620) (#27703)
* WIP. Attempt to fix interop
* Yapf
* Switch Python xDS Example Server to Listen on IPV4 Only (#27679)
* Switch to IPV4
* Update to all hosts
* Fix rvm ruby install failure (#27769)
Co-authored-by: donnadionne <donnadionne@google.com>
Co-authored-by: Lidi Zheng <lidiz@google.com>
Co-authored-by: Jan Tattermusch <jtattermusch@users.noreply.github.com>
Co-authored-by: sanjaypujare <sanjaypujare@users.noreply.github.com>
Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
Co-authored-by: Esun Kim <veblush@google.com>
Co-authored-by: Terry Wilson <terrymwilson@gmail.com>
Co-authored-by: Richard Belleville <rbellevi@google.com>
* added perf_counters.cc manually since the script didn't work
Co-authored-by: Mark D. Roth <roth@google.com>
Co-authored-by: donnadionne <donnadionne@google.com>
Co-authored-by: Lidi Zheng <lidiz@google.com>
Co-authored-by: Jan Tattermusch <jtattermusch@users.noreply.github.com>
Co-authored-by: sanjaypujare <sanjaypujare@users.noreply.github.com>
Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
Co-authored-by: Esun Kim <veblush@google.com>
Co-authored-by: Terry Wilson <terrymwilson@gmail.com>
Co-authored-by: Richard Belleville <rbellevi@google.com>
* Move most py_proto_library macro contents into rule.
The _generate_pb2_src rule is modified to produce a valid PyInfo
provider that can be depended on directly by py_.* rules.
Keeping an intermediate macro in place increases complexity without
adding any real value.
* Move most py_grpc_library macro contents into rule.
The _generate_pb2_grpc_src rule is modified to produce a valid PyInfo
provider that can be depended on directly by py_.* rules.
Keeping an intermediate macro in place increase complexity without
adding any real value.
* Remove support for additional plugins.
It's easy enough for a plugin author to build their own rule-set, and it
adds extra unused (and untested) complexity to gRPC's rules.
* Rewrite py_proto_library to track dependencies correctly.
* Propagate Python dependencies of py_grpc_library rules to consumers.
* Add test coverage for aspect-based py_proto_library.