Commit Graph

1085 Commits

Author SHA1 Message Date
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
Xuan Wang ffdb58dd5f
[Python 3.12] Support Python 3.12 (#34398)
Support Python 3.12.

### Testing
* Passed all Distribution Tests.
* Also tested locally by installing 3.12 artifact.


<!--

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-09-22 09:57:29 -07: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
Eugene Ostroukhov 58f1c74383
[test] Update NDK image with newer CMake (#34341)
1. Switch to CMake 1.18.
2. Make ergonomic change to push_testing_images.sh to allow building
just a single image.
3. Update packages to reduce a number of vulnerabilities reported.
2023-09-14 12:34:06 -07:00
Eugene Ostroukhov 4295f0250c
[Interop Test] Update Docker images (#34210)
Co-authored-by: Sergii Tkachenko <hi@sergii.org>
2023-08-31 10:25:21 -07:00
apolcyn fb635a1959
[ruby] drop ruby 2.6 support (#34198)
As title
2023-08-30 11:02:45 -07:00
Jan Tattermusch d3548a3941
[bazel] Upgrade bazel repo-wide to 6.3.2 (#34088)
- Upgrade bazel
- Reduce the number of places where bazel version needs to be upgraded
in future.
- also make sure the list of bazel versions to test by bazelified tests
is loaded from supported_versions.txt (it was hardcoded before).
- ~~Try upgrading windows RBE build to bazel 6.3.2 as well.~~

The core idea:
- the source of truth for supported bazel versions is in
`bazel/supported_versions.txt`
- the first version listed in `bazel/supported_versions.txt` is
considered to be the "primary" bazel version and is going to be used in
most places thoroughout the repo.
- use templates to include the primary bazel version in testing
dockerfiles and in a newly introduced `.bazelversion` files (which gets
loaded by our existing `tools/bazel` wrapper).


~~Supersedes https://github.com/grpc/grpc/pull/33880~~
2023-08-18 10:11:33 +02:00
Stanley Cheung b4b6319ecc
[Observability] Fix CPP observability test docker build (#34081)
CPP Observability test started failing about [2 weeks
ago](https://fusion2.corp.google.com/ci/kokoro/prod:grpc-gcp%2Ftools%2Fobservability%2Fmaster%2Fcontinuous_cpp/activity/401f3183-4097-4090-9142-d2cfe19bdf8a/log).

Turns out the `grpc/grpc` repo
[added](c73e743637 (diff-2f754321d62f08ba8392b9b168b83e24ea2852bb5d815d63e767f6c3d23c6ac5))
a `.dockerignore` file which ignores `.git` directory on `COPY`
commands. This broke the observability test docker build stage because
there was a `git submodule update` command.

But on the other hand, this `git submodule update` command in the
Observability test docker file isn't necessary and can be removed.

Adhoc test run based on this PR passed:
https://fusion2.corp.google.com/invocations/09ce384f-c077-4666-9a85-3ca890db6a80/log
2023-08-17 14:27:29 -07:00
Jan Tattermusch a526a091ae
[docker images] Consolidate git directory ownership workaround and upgrade ccache (#34035)
Based on https://github.com/grpc/grpc/pull/34033

Bunch of cleanup and rebuilding many docker images from scratch
- consolidate the workaround for "dubious ownership" issue reported by
git. Other team members have run into this recently and used similar but
not identical workarounds so some cleanup is due.
- rebuilding many images increases the chance that we fix the "dubious
ownership" git issue early on rather than later on in the one-at-a-time
fashion in the future (and the former will prevent many teammembers from
wasting time on this weird issue).
- Newer version of ccache is needed for some portability tests to be
able to benefit from caching (e.g. the GCC 12 portability test to get
benefits of local disk caching) - this is a prerequisite for reenabling
the bazelified gcc12 portability test.
- upgrade node interop images to debian:11 (since debian jessie is long
past EOL).
2023-08-17 00:28:21 +02:00
Jan Tattermusch 4c3ff07dac
[bazel] Reintroduce bazelified ruby and python tests (#34033)
Reintroduce https://github.com/grpc/grpc/pull/33959.

I added a fix for the python arm64 build (which is the reason why the
change has been reverted earlier).
2023-08-16 19:00:19 +02:00
Xuan Wang 08659ad1c3
Revert "[bazel] Add bazelified run_tests.py tests for ruby and python" (#33999)
Reverts grpc/grpc#33959
2023-08-07 12:43:55 -07:00
Jan Tattermusch cb235a3e22
[bazel] Add bazelified run_tests.py tests for ruby and python (#33959)
Context: https://github.com/grpc/grpc/pull/33707

Add python and ruby tests. Both required a few fixes so I wanted to add
them separately from https://github.com/grpc/grpc/pull/33707

Manual run of all the tests:
https://source.cloud.google.com/results/invocations/24c7b6ed-a8b3-4367-a4bf-8828919a9340
2023-08-07 16:14:17 +02:00
Eugene Ostroukhov 1c39493d96
[Interop test] Install curl (#33982)
Curl is required to install Bazel during the build. This also unifies
all build images to use Python base image.
2023-08-03 14:57:41 -07:00
Eugene Ostroukhov 30c68edfcb
[Interop Test] Rollback image changes (#33979)
Fixes build issues
2023-08-03 20:05:48 +00: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
Esun Kim 6574096a64
[Test] Added a new portability test with OpenSSL 3.0.9 (#33944) 2023-08-01 15:14:35 -07:00
Eugene Ostroukhov 78eb191da5
[Interop Test] Use distroless for C++ xDS tests (#33925)
This should drastically reduce number of vulnerabilities.

Tested locally by running the test
2023-07-31 11:30:45 -07:00