Commit Graph

804 Commits

Author SHA1 Message Date
Esun Kim 381125a3a9 [Test] Fix protobuf-at-head test (#36332)
When updating protobuf, ensure upb and utf8_range versions match the updated protobuf version.

Internal b/332754839

Closes #36332

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36332 from veblush:fix-protobuf-at-head e13e7bc57a
PiperOrigin-RevId: 623878964
2024-04-11 11:14:39 -07:00
Sergii Tkachenko bbaf87b264 [PSM Interop] Migrate to Artifact Registry (#36273)
Migrate PSM Interop images from Container Registry (gcr.io) to Artifact Registry (pkg.dev).

Closes #36273

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36273 from sergiitk:psm-interop-pkg-dev a831ad48bb
PiperOrigin-RevId: 623209428
2024-04-09 10:28:31 -07:00
Xuan Wang cff2a22474 [PSM Interop] Enable Python Session Drain Test and add tini to Python interop client image (#36253)
[Python Client]  Verified by manually trigger test including the new session drain test:
- [x] [grpc/core/master/linux/psm-csm-python](https://source.cloud.google.com/results/invocations/60ee9457-6c4a-4c13-ab01-f8370d499cca)

[Python Client] With `app_net_ssa_test`:
- [x] [grpc/core/master/linux/psm-csm-python](https://source.cloud.google.com/results/invocations/5a928e0d-6b81-418a-8817-a0739d9796d6)

[Python Client And Server] All psm-csm tests:
- [x] [grpc/core/master/linux/psm-csm-python](https://source.cloud.google.com/results/invocations/7d064c41-7759-41de-9ae1-099d5ec05797)
  - Note we're using C++ 1.62.x image for session drain test server.

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36253

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36253 from XuanWang-Amos:add_python_ssa_drain_test 1befc499ed
PiperOrigin-RevId: 622219139
2024-04-05 10:38:12 -07:00
Craig Tiller 26df942eb4 [build] Stop compiling every test.cc file for every config (#36197)
Instead, build a library and re-use that across compilations.

This still invokes a link step per target, and we'll want to deal with that at some point too, but at least this makes some progress to not being as wasteful with our compilation resources.

Additionally: remove bm_pollset -- it was having some problems compiling, and we really don't need it anymore.

Closes #36197

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36197 from ctiller:maintain-this-shite 9955026e23
PiperOrigin-RevId: 620946543
2024-04-01 14:04:25 -07:00
Ming-Chuan d6bb391449 [Build] Migrate Android NDK, android rules and platforms (#36116)
This commit does the following 3 things for Android bazel rules, which depends on each other

1. Update NDK to 26.2.11394342 (and a few other Android things)
2. Use rules_android_ndk instead of builtin `native.android_ndk_repository`
    * `third_party/android/android_configure.bzl` was a workaround for users who don't set `$ANDROID_NDK_HOME` env var. Now with rules_android_ndk, we can declare repo without registering the toolchain. Instead users who need NDK toolchain should use `--extra_toolchains` to manually register the toolchain, as shown in README.md.
3. Migrate to platforms. See https://bazel.build/concepts/platforms
    * Currently we declares android platforms that is needed for binder transport APK. Later gRPC repo can gradually migrate to platforms for other platforms.
    * The value of `crosstool_top` will still be `//external:android/crosstool` (which is the default value), so existings android `config_settings` will still work. We should migrate them to match with `@platforms//os:android` constraint later.

The platforms migration needs Bazel 7.0 to work so we also override bazel version in testing scripts.

Closes #36116

PiperOrigin-RevId: 617244655
2024-03-19 11:46:15 -07:00
Sergii Tkachenko b15c4304f7 [PSM Interop] Enable affinity_session_drain_test for cpp (#36064)
Add `gamma.affinity_session_drain_test` to `grpc/core/master/linux/psm-csm` test suite.

Closes #36064

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36064 from sergiitk:psm-interop-ssa-draining a1618555ac
PiperOrigin-RevId: 613738983
2024-03-07 16:34:38 -08:00
Xuan Wang 67a15395d2 [Python Distribution] Add a check for file size (#35831)
Add a step in distribution test which checks if any of the artifacts exceeds 80 MB since Pypi has a per-file size limit.

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #35831

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35831 from XuanWang-Amos:dist_test_add_size_check de50f20e14
PiperOrigin-RevId: 605664419
2024-02-09 10:14:55 -08:00
Esun Kim cb7172dc17 [CI] Removed dbg test from at-head tests (#35657)
Removing dbg test is helpful to cut back half the total test time and dbg test is not necessarily as opt test is included.

Closes #35657

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35657 from veblush:diet-at-head c448f6bd4d
PiperOrigin-RevId: 604677895
2024-02-06 09:50:36 -08:00
Xuan Wang 466115a9bc [Python PSM-CSM Interop] Add config file for psm-csm-python (#35644)
Tested by trigger `grpc/core/master/linux/psm-csm-python` job manually:
  - [x] [grpc/core/master/linux/psm-csm-python](https://source.cloud.google.com/results/invocations/31cb5a6e-ed44-4dd7-a383-14bf0a5907b0)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #35644

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35644 from XuanWang-Amos:xds_add_psm_csm_python_test e2d1a62052
PiperOrigin-RevId: 602827145
2024-01-30 13:41:00 -08:00
Xuan Wang 4f45565c82 [Python O11Y] Update deps file when building new abseil-cpp (#35681)
* Generate observability and grpcio-tools dependency file when building project.
* Also removed deps file from black formatter.
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #35681

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35681 from XuanWang-Amos:fix_build_o11y 84958c2d59
PiperOrigin-RevId: 601873635
2024-01-26 14:52:13 -08:00
Sergii Tkachenko 23dc551e9a [PSM Interop] Add gamma.csm_observability_test to psm-csm Kokoro job (#35588)
Add `gamma.csm_observability_test` test suite to `grpc/core/master/linux/psm-csm` Kokoro job.

Closes #35588

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35588 from sergiitk:psm-kokoro-csm_observability_test dc0c0f234d
PiperOrigin-RevId: 599664886
2024-01-18 16:55:48 -08:00
Sergii Tkachenko 22682a78f6 [PSM Interop] Delete PSM interop source per new repo migration (#35466)
New source of truth: https://github.com/grpc/psm-interop.

This PR removes PSM Interop framework source code from `tools/run_tests/xds_k8s_test_driver`, and all references to it.

Closes #35466

PiperOrigin-RevId: 597636949
2024-01-11 13:21:42 -08:00
Esun Kim f8b23fd29a [Test] Removed openssl tests from the at-head tests (#35520)
Recently two more openssl tests were added to the portability test suite. At-head tests are using the same set, having an unintended big surge in the test time, causing timeout. So I've changed at-head tests not to run openssl tests.

Closes #35520

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35520 from veblush:at-head-diet d0fc79d7f9
PiperOrigin-RevId: 597634232
2024-01-11 13:10:26 -08:00
Sergii Tkachenko 07706bc979 [PSM Interop] Use the Kokoro shared install lib from the new repo (#35327)
Source: 4f7ead2c7b/tools/internal_ci/linux/grpc_xds_k8s_install_test_driver.sh
New repo: https://github.com/grpc/psm-interop
New path: `.kokoro/psm_interop_kokoro_lib.sh`

Ref https://github.com/grpc/psm-interop/pull/16

Closes #35327

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35327 from sergiitk:psm-interop-shared-build 0f4566313d
PiperOrigin-RevId: 591388176
2023-12-15 16:25:34 -08:00
James Newton-King 39a24cc624 [gke benchmarks] Reenable dotnet GKE benchmarks (#35253)
PR https://github.com/grpc/test-infra/pull/389 updates the docker images to fix benchmarks failing after upgrading to .NET 8 RTM. It needs to be merged first.

Closes #35253

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35253 from JamesNK:jamesnk/net8-gke-benchmarks 6ef28f111b
PiperOrigin-RevId: 591058035
2023-12-14 14:51:35 -08:00
Xuan Wang 70be5504d2 [PSM Interop] Point Interop Prod testing to new repo (#35305)
Tests:
* [x] [prod:grpc/java/v1.59.x/branch/psm-security](https://source.cloud.google.com/results/invocations/b452f79c-4766-4e0f-99fb-cbbf38a8529b)
* [x] [prod:grpc/java/v1.59.x/branch/xds_k8s_lb](https://source.cloud.google.com/results/invocations/5f3baf85-3710-47b4-b1bb-df690c295e33)
* [x] [prod:grpc/java/v1.59.x/branch/xds_url_map](https://source.cloud.google.com/results/invocations/61d45275-ebe7-412c-ae0a-c8932535b343)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #35305

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35305 from XuanWang-Amos:switch_interop_repo 4e01258f1b
PiperOrigin-RevId: 590776638
2023-12-14 03:44:44 +00:00
Craig Tiller 57d8462aee Remove IWYU requirements for changes
PiperOrigin-RevId: 586404245
2023-11-29 11:34:28 -08:00
Paulo Castello da Costa 492dfba681 [benchmark] Exclude dotnet from OSS benchmarks CI. (#35068)
QPS worker build is currently failing.

Closes #35068

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35068 from paulosjca:dotnet cc4ef42659
PiperOrigin-RevId: 586393834
2023-11-29 10:59:31 -08:00
Yijie Ma d3828ebfbd
[Fork] Add ObjectGroupForkHandler fork-handling system (#33733)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->

---------

Co-authored-by: Bradley Hess <bdhess@google.com>
Co-authored-by: AJ Heller <hork@google.com>
2023-11-07 17:48:13 -08:00
AJ Heller a0ad04d41c
[build] Exclude experiments from RBE Build Tests PR job (#34852)
This only affects pull requests for the `Bazel RBE Build Tests` job. The
equivalent master CI job will still build all end2end tests, including
experiments.
2023-11-01 14:21:47 -07:00
Craig Tiller a0c1027bb3
[transport] Move transport interface to C++ (#34618)
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-10-18 13:13:23 -07:00
Esun Kim a935d7c190
[Test] Fix typo (#34719)
Oops
2023-10-17 17:41:02 -07:00
Sergii Tkachenko 1c4da38d40
[PSM Interop] New cleanup script (#33460)
1. Changes the resource retention period to 2 days for all resources
(previously 7 days for TD resources, 6 hours for k8s). This solved a
problem with k8s resources being stuck because corresponding TD
resources weren't deleted.
2. Resume on namespace cleanup failures
3. Add secondary lb cluster cleanup logic
4. Modularize `grpc_xds_resource_cleanup.sh`
5. Make `KubernetesNamespace`'s methods `pretty_format_status` and
`pretty_format_metadata` public
6. `pretty_format_status`: also print resource kind, creation and
deletion requested dates

ref b/259724370, cl/517235715
2023-10-16 15:44:51 -07:00
Esun Kim 3f77982326
[Test] Added bazel build test target (#34659)
Split nonbazel test into two; one for bazel build which will be labeled
as required and the other for remining nonbazel tests.

Corresponding internal CL: cl/572652950
2023-10-11 17:12:51 -07:00
Esun Kim f092b7a73f
[Test] Bazel distrib test (#34603)
These tests are now retired in favor of the bazelified ones.
(Corresponding cl/571081320)
2023-10-11 15:19:47 -07:00
Esun Kim 726b973d08
[Test] Removed flaky android testing devices (#34601)
Removed the following flaky Android testing devices from the Android
build test

- Pixel 6 Level 31
- Pixel 5 Level 30
- Pixel 3 Level 28
2023-10-05 15:22:01 -07:00
Sergii Tkachenko d8bd01a885
[PSM Interop] Resume app_net_ssa_test (#34516) 2023-10-04 13:46:04 -07:00
Sergii Tkachenko 8d3914f774
[PSM Interop] Use newer bootstrap in CSM tests (#34457) 2023-09-22 20:19:58 -07:00
Sergii Tkachenko c76730114a
[PSM Interop] Rename GAMMA tests to CSM tests (#34452)
Notes:
- GAMMA tests are now a subset of a wider CSM scope
- Some "gamma" files to ensure graceful renames
- Should be safe to merge as is
2023-09-22 16:25:10 -07:00
Jan Tattermusch 60f25c289b
[bazelified tests] Bazelify tests from "linux/grpc_bazel_build" and make the original test job a noop. (#34429)
Bazelify tests from "linux/grpc_bazel_build" kokoro job by creating 3
bazelified tests - "build with strict warning", "build with no_xds=True"
and "build with no_xds=True negative test".

- also make the original "linux/grpc_bazel_build" kokoro job a no-op
(since bazelified tests now provide the same coverage).
2023-09-22 08:25:42 -07:00
Jan Tattermusch 866fc41067
[bazelified tests] Make bazelified C basictests build only (#34428)
- make C-core basictests use `--build_only` when running as bazelified
tests. This is because the volume of C core tests is expected to grow
very significantly after https://github.com/grpc/grpc/pull/34419 and
currently the non-bazelified counterpart of the tests (the presubmit
grpc_basictests_c_cpp_build_only job) is also "build only".
- make the linux presubmit job `grpc_basictests_c_cpp_build_only` a
noop, since the bazelified tests already give the same coverage on
presubmit.
2023-09-21 21:02:05 +02:00
Jan Tattermusch 113dbf5183
[bazelify tests] make grpc_distribtests_standalone and grpc_bazel_distribtest presubmit jobs a noop (#34391)
Since many tests now run reliably as bazelified tests on RBE, we can
remove them from presubmit runs
to speedup testing of PRs.
(for now, these jobs will still run on master, they can be removed from
master as a followup).

- linux/grpc_distribtests_standalone is now fully covered by bazel test
suite
a3b4c797a7/tools/bazelify_tests/test/BUILD (L202),
setting them to `presubmit=False` will stop tests from running on PRs.

- stop running tests from grpc_bazel_distribtest on PR, instead rely on
bazel distribtests running as bazelified tests.
2023-09-19 19:31:24 +02:00
Jan Tattermusch b62edde1e3
[bazelified tests] Add more bazelified portability tests (and make them SOT for presubmit) (#34388)
- bring parity between legacy portability_build_only linux job and
bazelified RBE portability tests.
- make grpc_portability_build_only job a no-op, since it's fully
replaced by that bazelified tests (but keep grpc_portability on master
job for now).

For comparison:
[legacy portability linux build only
tests](https://source.cloud.google.com/results/invocations/f26f8b32-6878-43c7-9613-05f3111fa07c/targets)
[bazel RBE bazelified
tests](https://source.cloud.google.com/results/invocations/b656625f-b1e8-4b5c-9be0-b34ac9fcb31e/targets)
(before this PR).
2023-09-19 19:27:29 +02:00
Zach Reyes e57b32588b
[python][interop] Add bootstrap generator test to nightly cron job against python master (#33933) 2023-09-18 19:00:25 -07:00
Paulo Castello da Costa 0218f7d3a6
[benchmark] Add golang tests back to main CI job. (#34370) 2023-09-17 09:14:20 -07:00
Paulo Castello da Costa 02ee4d9173
[benchmark] Add golang tests back to experimental CI job. (#34368) 2023-09-15 10:38:40 -07:00
Sergii Tkachenko 430d358f70
[PSM Interop] Enable GAMMA test suite (#34193)
Enable `grpc/core/master/linux/psm-gamma` test job that runs GAMMA test
suite. Includes only the baseline test.
2023-08-28 19:54:50 -07:00
AJ Heller 554788a6d3
[benchmark] Add event_engine_client continuous benchmarks (#34166) 2023-08-25 10:03:18 -07:00
Sergii Tkachenko 5db072a656
[PSM Interop] Add GKE_CLUSTER_PSM_GAMMA option to the list of clusters (#34150)
Reminder: changes to this file are picked up immediately by all
tests/all branches/all langs.
2023-08-23 18:27:15 -07:00
Sergii Tkachenko c0ea95d93e
[PSM Interop] Add a stub for GAMMA kokoro job (#34149)
Related cl/559581863
2023-08-23 18:10:03 -07:00
AJ Heller bb0474a4dd
[benchmark] Remove work_stealing experiment benchmark (#34143)
The `work_stealing` experiment on its own is not very valuable, so let's
delete it and save CI resources. We have a benchmark for
`GRPC_EXPERIMENTS=event_engine_listener,work_stealing`, which is really
what we care about right now.
2023-08-23 16:10:14 -07:00
Jan Tattermusch 3b4b69a509
[gke benchmarks] Reenable dotnet GKE benchmarks (#34094)
https://github.com/grpc/test-infra/pull/379 needs to be merged first.

This partially reverts https://github.com/grpc/grpc/pull/34080 and
re-enables the dotnet benchmarks.
2023-08-18 09:36:10 +02:00
AJ Heller e67756a149
[benchmarks] Disable dotnet and golang benchmarks (#34080)
This should get the benchmarks running again. The dotnet benchmark is
broken (unclear if it's still necessary), and the grpc-go benchmark
build currently fails. The go benchmark should be re-enabled when the
dockerfiles are fixed. The rest of the dotnet benchmark configuration /
artifacts should be deleted or fixed as well. @jtattermusch
2023-08-16 16:52:08 -07:00
Paulo Castello da Costa b1aaf190d7
[benchmark] Add node benchmarks to main job. (#33976)
Experimental job is passing after adding node benchmarks:
https://github.com/grpc/grpc/pull/33963.

Adding node benchmarks to the main kokoro job.
2023-08-08 17:56:26 -07:00
Paulo Castello da Costa 3eca188895
[benchmark] Delete references to `node_purejs`. (#33970)
There is only one supported implementation for performance benchmarks,
so the name is unified to `node` (previously `node_purejs`).
2023-08-08 17:55:56 -07:00
Yash Tibrewal b7237cb658
[PSM Interop] Add bootstrap generator test (#33833)
Based on https://github.com/grpc/grpc-go/pull/6463

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-08-07 12:26:49 -07:00
Paulo Castello da Costa 8d3b06ca7c
[benchmark] Add node benchmarks to experimental job. (#33963) 2023-08-02 11:59:34 -07:00
Jan Tattermusch 2b0a9d3916
[bazel] Teach bazel how to run non-bazel test suites under docker locally and on RBE (#33707)
Add "bazelified" non-bazel tests. See tools/bazelify_tests/README.md for
the core idea.
- add a bunch of test targets that run under docker and execute tests
that correspond to `run_tests.py -l LANG ...`
- many more tests can be added in the future
- to enable running some of the C/C++ portability tests easily, added
support for `--cmake_extra_configure_args` in run_tests.py (the change
is fairly small).

Example passing build that shows how test results are structured:

https://source.cloud.google.com/results/invocations/21295351-a3e3-4be1-b6e9-aaf52195a044/targets
2023-08-02 14:15:19 +02:00
Paulo Castello da Costa 702e0cf918
[benchmark] Write to master tables only for CI runs. (#33948) 2023-08-01 16:28:19 -07:00
AJ Heller 13e75efeb3
[benchmark] Add `event_engine_listener,work_stealing` benchmark (#33940)
This enables both of the `event_engine_listener` and `work_stealing`
experiments together, which we expect will have better performance. The
benchmark-config-generation script required some light modification to
support running multiple experiments at the same time.
2023-08-01 12:31:55 -07:00