Commit Graph

24 Commits

Author SHA1 Message Date
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
Esun Kim 1e4fb21b7c
Fix Bazel 7 build (more) (#35392)
It turned out that the previous change missed two things which this PR
has

- Fix function `_dockerized_genrule` not to have `timeout` and `flaky`
which Bazel doesn't have. (Bazel 7 may either drop these arguments or
become more strict about passing unrecognized ones)
- Disabled python bazel distribution tests with Bazel 7. This needs to
be addressed by https://github.com/grpc/grpc/issues/35391.
2023-12-27 09:32:51 -08:00
Esun Kim 45aecbe355 [Tool] Added Bazel 7 basic support (#35362)
- Added Bazel 7 to the support bazel versions.
- Changed the default Bazel version to 7.
- Fixed Android Binder build issue.

Closes #35362

PiperOrigin-RevId: 592946781
2023-12-21 14:13:56 -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
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
AJ Heller 0c58f1551c
[build] Speed up the strict_build CI job (#34841)
The `bazel_build_with_strict_warnings_linux` job was taking nearly an
hour to complete. This change brings it down to ~20m by splitting up the
build targets into 7 separate RBE actions.

---------

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2023-11-01 10:06:01 -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
Esun Kim 10e08e06bd
[Test] Bump the timeout for bazelify distribtest_php_linux_x64_debian10 (#34600)
Bump the timeout as distribtest_php_linux_x64_debian10 takes longer
while building core.
2023-10-05 15:22:57 -07:00
Jan Tattermusch 3b40af376e
[bazelified tests] First attempt at bazelified rules for building artifacts/packages (#34462)
Foundation for being able to bazelify the build artifact -> build
package -> distribtest workflow tests.

Main ideas:
- "build artifact" and "build packages" will be represented by a custom
genrule (that runs the build on RBE under a docker container).
- since genrule doesn't support displaying logs for each target as a
separate "target log" (in the same way that bazel tests do), and we
generally want readable per-target logs for the bazelified test, a pair
of targets will be created for each "build artifact task":
- a genrule that actually performs the build, creates an archive with
artifacts and stores the exitcode and build log as rule outputs
- a corresponding "build_test" sh_test that simply looks at the result
of the genrule and presents the build log and build result a "target
log" for this test.
2023-10-04 11:08:49 -07:00
Jan Tattermusch 4c0e8086e5
[bazelified tests] Unbreak RBE bazelified tests after #34444 (#34463)
Unbreak what was broken by
https://github.com/grpc/grpc/pull/34444#issuecomment-1733830982.
2023-09-25 16:22:46 +00: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 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
Jan Tattermusch a3b4c797a7
[bazelified tests] Reenable runtests_php_linux_dbg after #34257 (#34266)
The valgrind based test (removed in
https://github.com/grpc/grpc/pull/34257) was the reason why the dbg test
was disabled in the past.
2023-09-18 07:52:03 +00:00
Jan Tattermusch fdf3f5a36b
[bazelified tests] Shard bazelified bazel distribtests to make them faster (#34102)
Basically run each of the subtests (buildtest, distribtest_cpp,
distribtest_python) as a separate bazel target.

- currently the bazel distribtest are the slowest targets in
grpc_bazel_rbe_nonbazel
- the shards are basically independent tests anyway
- when split into multiple targets, they each get a separate target log
so it's easier debug issues since there isn't multiple bazel invocations
in each log.
2023-08-21 15:13:37 +02: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
Jan Tattermusch 422d7adf47
[bazelified tests] Reenable gcc_12 bazelified portability test (#34078)
Needs https://github.com/grpc/grpc/pull/34035 to be merged first. With
newer ccache in available in the gcc12 test image, the build is now
faster so we can reenable the test.
2023-08-17 08:49:14 +02:00
Jan Tattermusch e756a09e92
[bazel] enable more bazelified C++ distribtests (#34031)
Reenable the bazelified version of `cpp_distribtest_cmake_linux` and
`cpp_distribtest_cmake_pkgconfig_linux` distribtests
2023-08-17 08:46:28 +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
Jan Tattermusch 5eb227936e
[bazel] Add more bazelified tests (#34005)
- some cleanup
- add bazel distribtests (to run the existing
test_single_bazel_version.sh locally under a docker container created by
RBE).
- add c++ distribtests
- rename `grpc_run_tests_py_test` macro to `grpc_run_tests_harness_test`
- as requested previously to avoid confusion with `*_py_test` rules
2023-08-10 09:02:48 +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
Jan Tattermusch 671453faa5
[bazel] Disable flaky bazelified run_tests.py tests (#33978)
Most runs of these tests currently fail.
Disabling them for now before I get a chance to investigate what's
causing the failures.

Example failures:

https://source.cloud.google.com/results/invocations/9916fe8e-0fe1-4c33-a885-79a41e69c9fe


https://source.cloud.google.com/results/invocations/9251a25c-0758-421d-84bd-12379f9cf10c
2023-08-03 06:45:45 -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