Commit Graph

1101 Commits

Author SHA1 Message Date
Arjan Singh Bal d038e0ed19 [Interop] Test grpc-go 1.64 using go 1.22 runtime (#36755)
Use the latest golang base image for Go interop tests. Presently the latest image points to Go 1.22.
<!--

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.

-->

## Commands run
To render the Dockerfile from its template
```sh
$ tools/buildgen/generate_projects.sh
```
To build and upload the base docker image.
```sh
$ tools/dockerfile/push_testing_images.sh
```

To build and upload the interop docker image for grpc-go 1.64.0
```sh
$ tools/interop_matrix/create_matrix_images.py --git_checkout --release=v1.64.0  --upload_images --language go
```

To verify the image is uploaded
```sh
$ gcloud container images list-tags gcr.io/grpc-testing/grpc_interop_go1.x
DIGEST        TAGS                                         TIMESTAMP
b36be4961ec4  infrastructure-public-image-v1.64.0,v1.64.0  2024-06-03T22:26:48
```

Verify the backward compatability tests pass
```sh
$ export docker_image=gcr.io/grpc-testing/grpc_interop_go1.x:v1.64.0
$ tools/interop_matrix/testcases/go__master
Testing gcr.io/grpc-testing/grpc_interop_go1.x:v1.64.0
```

Fixes: https://github.com/grpc/grpc/issues/36060

Closes #36755

PiperOrigin-RevId: 641272572
2024-06-07 09:31:49 -07:00
Esun Kim 6814867e78 [CI] Updated clang docker images to use Debian 12 (#36810)
All clang docker images here are based on Debian 11 (Bullseye) but now we're moving to Debian 12 (Bookworm) primarily to use the recent versions of Cmake >= 3.20 to use CXX_STANDARD=23 for some tests ([doc](https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html))

Closes #36810

PiperOrigin-RevId: 640688681
2024-06-05 16:38:08 -07:00
Esun Kim 6c4c3f5b51 [RBE] Updated RBE Linux image (#36685)
A regular upgrade but it's an attempt to resolve false-positive ASAN errors found in https://github.com/grpc/grpc/pull/36626 ([log](https://btx.cloud.google.com/invocations/7e003b33-401b-48a3-963f-13d4807ba970/targets))
- Upgraded Clang 15 to 19
- Upgraded Bazel 6 to 7

Closes #36685

PiperOrigin-RevId: 637069576
2024-05-24 16:53:56 -07:00
Mark D. Roth 6c08d36c3b [reorg] move telemetry code to src/core/telemetry (#36644)
Closes #36644

PiperOrigin-RevId: 636702732
2024-05-23 15:54:07 -07:00
Esun Kim 740b58a9ac Reintroduced GCC 7 test (#36565)
GCC 7 was disabled due to its gcc internal error while building protobuf C++. But we still need to support gcc7 and there appear to be issues causing gcc 7 to not build grpc so let's reintroduce gcc 7 test.

Closes #36565

PiperOrigin-RevId: 631947203
2024-05-08 15:41:46 -07:00
Eric Anderson abda964f52 [Interop] Rebuild dart image (#36562)
This is the same change as in #36556, but the change was committed without the second commit that existed in the PR (due to a very wide wait-for-CI-before-syncing race).

The sha here is what's currently in testing-images-public. I don't know where it came from but it has the proper update.

Closes #36562

PiperOrigin-RevId: 631871629
2024-05-08 11:41:31 -07:00
Eric Anderson 52f7a6f38d [Interop] Rebuild dart image (#36556)
The last time it was rebuilt, the base image (dart:stable) seems not to have been updated. grpc-dart is now requiring newer dart version and is currently failing: https://github.com/grpc/grpc-dart/issues/705

Closes #36556

PiperOrigin-RevId: 631850210
2024-05-08 10:41:52 -07:00
Mark D. Roth 17984c10e1 [clang-format] run for everything under src/core (#36381)
Looks like this has been broken for things we've moved out of lib and ext.

Closes #36381

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36381 from markdroth:clang_format_fix 41f0283c42
PiperOrigin-RevId: 626137779
2024-04-18 13:46:42 -07:00
Esun Kim 542c160fe6 [Test] Adding an additional tag to test docker images (#36341)
Updated `push_testing_images.sh` to add an additional tag, `infrastructure-public-image-HASH` to a new image to be excluded from the GCP Vulnerability scanner.

To reviewer:
- Only  `tools/dockerfile/push_testing_images.sh` has an interesting change (adding a new tag)
- Clang 6 and 17 don't have an actual change other than clean-up which is to test if the script is working.

Closes #36341

PiperOrigin-RevId: 623944712
2024-04-11 14:45:08 -07:00
Yash Tibrewal 956e76b6b4 [Infra] Update fedora image to 38 (#36335)
Closes #36335

PiperOrigin-RevId: 623927060
2024-04-11 13:46:48 -07:00
Esun Kim e510ff89aa [CI] Rebuilt docker images (#36329)
Rebuilt all test docker images to get them up-to-dated, expecting they've got more security fixes.

Closes #36329

PiperOrigin-RevId: 623884120
2024-04-11 11:27:03 -07:00
Xuan Wang 73b0ac2067 [Python Version] Drop support for Python 3.7 (#34450)
### NOTE
* We shouldn't merge this PR until GCP cloud functions drops support for Python 3.7 ([Currently scheduled for GCF](https://cloud.google.com/functions/docs/runtime-support#python))

As part of supporting Python 3.12, we're now officially drop support for Python 3.7.

This PR:

* Changed supported Python version from 3.7 to 3.8 in README.
* Replaced distribution test image from `debian:buster` to `debian:bullseye` since the default Python version in buster is 3.7.

<!--

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 #34450

PiperOrigin-RevId: 622899511
2024-04-08 11:17:51 -07:00
Esun Kim 1ce1159a75 [CI] Moved to Bazel 7 (#36105)
Let's use Bazel 7 by default.

Closes #36105

PiperOrigin-RevId: 617653203
2024-03-20 16:16:12 -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
Esun Kim 0703276770 [CI] Bazel upgrade (#36104)
Upgraded Bazel as follows;
- Bazel 6.4 to 6.5
- Bazel 7.0 to 7.1

Closes #36104

PiperOrigin-RevId: 616237591
2024-03-15 14:08:10 -07:00
Esun Kim e34c20cd13 [CI] Refactor android_ndk docker (#36091)
Refactored android-ndk docker image to have
- Replaced a full Android SDK with a Android command line tool (generally good for docker usage) and bumped its version to the latest among ones that support JDK 11
- Upgraded Debian from 10 to 11
- Upgraded Java SDK 8 to 11
- Upgraded Google CLI to the latest

Closes #36091

PiperOrigin-RevId: 615088973
2024-03-12 10:24:10 -07:00
tony 5043eb4d65 [csharp] Fix csharp_ubuntu2204_x64 docker image (#36019)
Fix the docker image for C# distribution tests - csharp_ubuntu2204_x64

The package that installed the .NET 7.0 SDK is missing setting up links and thus the `dotnet` command cannot find the SDK. Setting this links has been added to the dockerfile.

**NOTE**: I'm unable to update `tools/dockerfile/distribtest/csharp_ubuntu2204_x64.current_version` as I don't have access to the artifact registry.

Closes #36019

PiperOrigin-RevId: 611590679
2024-02-29 14:10:36 -08:00
apolcyn 9054988785 [csharp] Use a stable/supported C# runtime in ubuntu 22.04 distribtest docker images (#35955)
The current .NET SDK in these tests is EOL, and we've been seeing strange SSL errors transiently.

Update to a supported version and remove cruft in the docker image that was there to install the older version.

TODO: submitting first with the ubuntu 22.04 image test skipped, need to follow-up with a fix and unskip the test

Closes #35955

PiperOrigin-RevId: 610798209
2024-02-27 10:34:33 -08:00
Richard Belleville 12897ab0fb [Interop] Make C++ xDS Interop Client and Server Responsive to SIGTERM (#34518)
This PR adds `tini` to the C++ interop client and server to make them responsive to SIGTERM.

Closes #34518

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/34518 from gnossen:ssa_interop_server a762b27178
PiperOrigin-RevId: 610766377
2024-02-27 08:52:21 -08:00
apolcyn 014087ad4e [ruby] fix interop test build (#35948)
Followup to https://github.com/grpc/grpc/pull/35934

Trying to fix:

```
Required ruby-3.0.0 is not installed.
To install do: 'rvm install "ruby-3.0.0"'
```

Closes #35948

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35948 from apolcyn:fix_ri cc92b928f3
PiperOrigin-RevId: 608688718
2024-02-20 12:11:25 -08:00
apolcyn 7a43130d10 [ruby] fix ruby interop build (#35934)
Followup fix for #35911

Closes #35934

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35934 from apolcyn:ruby_stuff fdafeffc05
PiperOrigin-RevId: 607836125
2024-02-16 16:46:00 -08:00
Esun Kim 2ca568663f [CI] Upgraded the docker images for Ruby Distrib Tests (#35911)
- Dropped Ruby 2.7 test (Ruby 2.7 hit EOL 1 year ago)
- Upgraded the base image of Ruby docker images from Debian:10 to Debian:11 (Debian:10 hit EOL)

Closes #35911

PiperOrigin-RevId: 607088383
2024-02-14 13:34:40 -08:00
Mark D. Roth 06ac429fea [clang-format] exclude src/python/grpcio_observability/grpc_root (#35802)
Closes #35802

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35802 from markdroth:clang_format_fix 39a6200f9a
PiperOrigin-RevId: 603954536
2024-02-03 09:23:51 -08:00
apolcyn f82ecf4b0b [ruby] add distrib tests for ruby 3.1-3.3 (#35788)
As title

Partial followup to https://github.com/grpc/grpc/pull/35399

Closes #35788

PiperOrigin-RevId: 603786425
2024-02-02 14:24: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
apolcyn d9c253fe32 [csharp] try rebuilding distrib ubuntu image (#35674)
rebuilt `tools/dockerfile/distribtest/csharp_ubuntu2204_x64/Dockerfile` (without actually changing anything in the docker instructions) in an attempt to fix `The SSL connection could not be established, see inner exception.` errors happening in `dotnet restore` commands in distrib tests using this image.

Closes #35674

PiperOrigin-RevId: 601856906
2024-01-26 13:47:13 -08:00
Esun Kim af95eafb34 [CI] Using clang-17 for clang tidy & format (#35595)
Clang-17 is now better at formatting. Clang-16 used to do some questionable formatting.

Closes #35595

PiperOrigin-RevId: 600829055
2024-01-23 10:19:25 -08:00
Esun Kim 5c0f349761 [Build] Bump the required CMake version to 3.13 (#35572)
We've been trying to upgrade Cmake to 3.13 or later as OSS policy bumped it. But we couldn't as Android has a weird linker error with Cmake 3.18 (you can see the error from https://github.com/grpc/grpc/pull/34331) This PR instead upgrades it to use 3.22 for Android test.

Closes #35572

PiperOrigin-RevId: 599317285
2024-01-17 16:08:53 -08:00
Esun Kim 53d79d4beb [Test] Upgrade clang test from 16 to 17 (#35524)
Closes #35524

PiperOrigin-RevId: 597883649
2024-01-12 10:41:43 -08:00
Yash Tibrewal 264f4f4f54 [interop] Fix ruby docker build (#35438)
Closes #35438

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35438 from yashykt:FixRubyInteropBuild 0442988e8d
PiperOrigin-RevId: 595529644
2024-01-03 16:16:02 -08:00
AJ Heller bd1eb96b5b [test-infra] Update all Ubuntu docker images to v20.04 or newer (#35440)
Closes #35440

PiperOrigin-RevId: 595515422
2024-01-03 15:14:54 -08:00
Xuan Wang 2d7b751d4e [Python run_test] Support Python3.12 (#35325)
Fix: https://github.com/grpc/grpc/issues/35085
<!--

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 #35325

PiperOrigin-RevId: 592635611
2023-12-20 12:59:24 -08:00
Gregory Cooke 12c0058bf2 [Security - Testing] OpenSSL 1.0.2 and 1.1.1 CI Testing (#35236)
Enable OpenSSL 1.0.2 tests and add a container for 1.1.1 so that it is tested during portability testing as well.

Closes #35236

PiperOrigin-RevId: 590345568
2023-12-12 14:52:43 -08:00
Craig Tiller 57d8462aee Remove IWYU requirements for changes
PiperOrigin-RevId: 586404245
2023-11-29 11:34:28 -08:00
Adam Cozzette 016ed921ce
[deps] Upgrade protobuf version to v25.0 (#34513)
This commit upgrades gRPC to protobuf v25.0 and makes some fixes to
account for upb changes. One major change is that upb has been merged
into the protobuf repo, so we can now drop the separate `@upb`
dependency. Another is that `.upb.c` files no longer exist and there are
new `.upb_minitable.h` and `.upb_minitable.c` files. The longer
filenames exceeded a Windows restriction, so to work around that I
renamed the `upb-generated` directory to just `upb-gen`, and likewise
for `upbdefs-generated`.
2023-11-10 00:11:09 -08:00
Esun Kim d77e5c0dd3
[Build] Dropped Bazel 5.x and Upgraded Bazel 6.4.0 (#34813)
- Dropped Bazel 5.x support aligned with [Foundational C++ support
policy:
Bazel](https://opensource.google/documentation/policies/cplusplus-support).
- Upgraded Bazel 6 to 6.4.0 (the latest)
- Updated gRPC Bazel documentation to be aligned with the policy above.
2023-11-06 15:47:29 -08:00
Craig Tiller ffa5728e9d
[clang-format] spam cleanup (#34881)
Eliminate spam from clang-format script.
Also add a shuffle to the file list - saves about a second of runtime on
my machine by making sure clusters of hard files are distributed evenly
amongst CPUs.
2023-11-06 06:59:36 -08:00
AJ Heller 50b654894a
[build] Speed up clang_format (#34839)
This reduces clang-format duration to under 10s on my 128 core machine.
Previously I stopped the process at 10 minutes. Major changes:

Eliminates 18,000 files
```
find ... \
    -and -not -path '*/cmake/build/*' \
    -and -not -path '*/huffman_geometries/*' \
```

Also, this now runs `$CPU_COUNT` number of parallel clang-format
processes with a roughly equal number of files. Previously, this script
was formatting one file at a time in separate processes (`xargs -n 1`).
2023-11-01 09:10:29 -07:00
Xuan Wang 43661ab364
[Python run_test] Revert "Revert "[Python run_test] Fix run_test"" (#34671)
Reverts grpc/grpc#34667

The change was reverted because it failed to import to g3, after some
changes, now it's safe to reapply those changes.

Tested by importing this PR internally, it passed presubmit:
cl/573836270
2023-10-19 09:47:17 -07:00
Esun Kim dd3a355cc1
[Test] RBE back to Ubuntu 20.04 (#34720)
Partial rollback of https://github.com/grpc/grpc/pull/34473 for RBE as
RBE needs Ubuntu 20.04 to get clang artifacts which Google publishes.
There aren't artifacts for Ubuntu 22.04 yet so there is no point of
upgrading RBE image to 22.04.
2023-10-18 09:49:00 -07:00
Craig Tiller 0496589405
Revert "[Python run_test] Fix run_test" (#34667)
Reverts grpc/grpc#34292
2023-10-11 17:46:20 -07:00
Yijie Ma bae0c705aa
[Deps] Update to Clang-16 (#34492)
<!--

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-10-11 16:26:32 -07:00
Xuan Wang 11d9b083f3
[Python run_test] Fix run_test (#34292)
We're not running any test at all from `run_test.py` because of the way
we filter test cases:

1d136fd05f/src/python/grpcio_tests/tests/_runner.py (L137)

* `testcase_filter` is read from a json file (like [this
one](https://github.com/grpc/grpc/blob/master/src/python/grpcio_tests/tests/tests.json))
and test name is similar to `unit._metadata_test.MetadataTest`.
* `case.id()` is loaded by `iterate_suite_cases` and will always have a
prefix of `tests`, an example of case id will be:
`tests.unit._metadata_test.MetadataTest`.

Because of the prefix, none of the test case will be matched thus we're
not running any of the tests.

This PR fixes the prefix issue and all the regressions comes from not
running tests using `run_test.py`.

#### Other Changes
* Added couple of `__init__.py` file since it's required to load tests.
* Added `py_status_code` to Aio rpc state.
* `code()` is expecting to return a python gRPC code but current
`status_code` is a Cython code.
* Added `libsqlite3-dev` to our dockers because it's required for
`coverage==7.2.0`.
* Renamed csds and admin test because test case file have to end with
`_test`:
1d136fd05f/src/python/grpcio_tests/tests/_loader.py (L26)
* Removed gevent test from `run_test.py` because Bazel gevent tests
should be good enough for us.

<!--

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-10-11 09:50:53 -07:00
Jan Tattermusch 14f5d4768d
[bazelify tests] Add "concurrent_bazel.sh" wrapper to enable parallel invocations of bazel (#34568)
(I had to first solve a problem with "dubious file ownership" error that
was happening inside the grpc_repo_archive action when using the
concurrent wrapper).

Example:
```
tools/docker_runners/examples/concurrent_bazel.sh --bazelrc=tools/remote_build/linux.bazelrc test --genrule_strategy=remote,local --workspace_status_command=tools/bazelify_tests/workspace_status_cmd.sh //tools/bazelify_tests/test:runtests_csharp_linux_dbg
```
2023-10-06 01:02:40 -07:00
Craig Tiller 579e0f1881
[owners] Remove the mkowners tool (#34533)
We originally wanted a common format with internal OWNERS files on the
thought that we'd use them and import them and oh gosh that was the
wrong thing to think.

With upcoming changes to tree management having them here is going to
cause problems, so lets just update the CODEOWNERS files directly.
2023-10-04 11:13:10 -07:00
Eugene Ostroukhov e82d025cbe
[test] Add OpenSSL1.0 to C# Ubuntu 22.04 image (#34502) 2023-09-27 12:53:59 -07:00
Eugene Ostroukhov 0f47441d5c
[build] Update Ubuntu docker images to 22 (#34473) 2023-09-26 15:41:50 -07:00
Eugene Ostroukhov 16e26b1091
[test] Fix venv version installed on Fedora 26 (#34477) 2023-09-26 09:10:35 -07:00
Eugene Ostroukhov a5b215024c
[test] Update images to Fedora 36 (#34469) 2023-09-25 13:45:40 -07:00
Esun Kim 05f14d002d
[Test] Changed gcc-7 to gcc-8 (#34444)
Bumping gcc 7 to 8 to workaround the ongoing gcc segfault problem when
building Protobuf C++. Currently Foundational C++ requires gcc 7 so this
is a temporary measure to make the test green. We need to either make a
decision to change the minimum version of gcc in the Foundational C++ or
find a way to support gcc 7 without gcc segfault soon.
2023-09-22 12:14:48 -07:00