grpc/tools
Sergii Tkachenko 4af785929c
[PSM Interop] Simplify PSM Interop Kokoro buildscripts (v1.58.x backport) (#36539)
Backport of #36450 to v1.58.x.
---
Integrates the new features of the the Kokoro PSM Interop install
library introduced in grpc/psm-interop#73.

Nearly all common functionality was moved from per-language/per-branch
PSM Interop build scripts to
[psm_interop_kokoro_lib.sh](https://github.com/grpc/psm-interop/blob/main/.kokoro/psm_interop_kokoro_lib.sh):
1. The list of tests in the each test suite 
2. Per-test-suite flag customization
3. `run_test` methods
4. `build_docker_images_if_needed` methods
5. Generic `build_test_app_docker_images` methods (simple docker build +
docker push + docker tag). grpc-java is one exception, as it doesn't run
docker directly, but a cloudbuild flow.

Now all PSM Interop jobs share the same buildscripts by all test suites:
1. buildscript that invokes the test: `psm-interop-test-{language}.sh`
(configured as `build_file` in the build cfg)
2. buildscript that builds the xDS test client/server and publishes them
as a Docker image: `psm-interop-build-{language}.sh` (conventional name
called from `psm_interop_kokoro_lib.sh`)

`psm-interop-test-{language}.sh`:
1. Sets `GRPC_LANGUAGE`, `BUILD_SCRIPT_DIR` environment variables.
2. Downloads the shared `psm_interop_kokoro_lib.sh` from the main branch
of the psm-interop repo.
3. Sources `psm-interop-build-{language}.sh`
4. Calls `psm::run "${PSM_TEST_SUITE}"` (`PSM_TEST_SUITE` configured in
the cfg file).

`psm-interop-build-{language}.sh`:
1. Defines `psm::lang::build_docker_images` which is called from
`psm_interop_kokoro_lib.sh`.
2. Invokes any repo-specific logic.
3. May use `psm::build::docker_images_generic` for generic Docker build,
tag, push, or provide implement its own build/publish method.

References:
- b/288578634
- See the full list of the new features at grpc/psm-interop#73.
- Additional fixes to the shared lib: grpc/psm-interop#78,
grpc/psm-interop#79
2024-05-06 15:15:13 -07:00
..
api_reference shellcheck 2018-05-21 18:23:09 -07:00
bazelify_tests [bazelified tests] Shard bazelified bazel distribtests to make them faster (#34102) 2023-08-21 15:13:37 +02:00
buildgen [bazel] Upgrade bazel repo-wide to 6.3.2 (#34088) 2023-08-18 10:11:33 +02:00
codegen/core [wrr] Add metrics to help debug high WRR cost (#34095) 2023-08-17 16:37:40 -07:00
debug/core [Python] Migrate from yapf to black (#33138) 2023-06-09 15:08:55 -07:00
distrib [Release] Bump version to 1.58.2 (on v1.58.x branch) (#34624) 2023-10-09 10:08:45 -07:00
docker_runners Move docker images from dockerhub to artifact registry. (#31591) 2022-11-17 10:12:39 +01:00
dockerfile [Interop Tests][v1.58] Update Docker images (#34373) 2023-09-15 11:10:36 -07:00
doxygen [Release] Bump version to 1.58.2 (on v1.58.x branch) (#34624) 2023-10-09 10:08:45 -07:00
fuzzing [Fuzzing] Add a build config option which enables Clang source-based code coverage (#32858) 2023-04-14 13:03:12 -07:00
gce Migrate the bm_diff benchmarks to python3 (#25619) 2021-03-09 15:44:00 +01:00
gcp/utils [Python] Migrate from yapf to black (#33138) 2023-06-09 15:08:55 -07:00
gource
http2_interop Create a go module for http2 interop test, fixing breakage from upgrade to go v1.16 (#25707) 2021-03-15 15:28:48 -07:00
internal_ci [PSM Interop] Simplify PSM Interop Kokoro buildscripts (v1.58.x backport) (#36539) 2024-05-06 15:15:13 -07:00
interop_matrix [interop] Add grpc-java 1.57.2 to client_matrix.py (#34068) 2023-08-16 14:01:19 -07:00
mkowners [Python] Migrate from yapf to black (#33138) 2023-06-09 15:08:55 -07:00
package_hosting doc: npm package of grpc migrate (#32041) 2023-01-10 13:57:25 -08:00
profiling [Python] Migrate from yapf to black (#33138) 2023-06-09 15:08:55 -07:00
release [Python] Migrate from yapf to black (#33138) 2023-06-09 15:08:55 -07:00
remote_build [bazel RBE] add direct link to Fusion UI in bazel rbe invocations (#34101) 2023-08-21 09:33:20 +02:00
run_tests [PSM Interop] Enable GRPC_EXPERIMENTAL_XDS_ENABLE_OVERRIDE_HOST (#34344) 2023-09-14 12:36:42 -07:00
README.md
bazel [bazel] Upgrade bazel repo-wide to 6.3.2 (#34088) 2023-08-18 10:11:33 +02:00
bazel.rc [OTel] Basic C++ OTel Stats Functionality (#33650) 2023-07-17 09:30:47 -07:00
fuzztest.bazelrc [channel-args] Reland UnionWith optimizations (#33163) 2023-05-17 17:23:58 -07:00

README.md

buildgen: Template renderer for our build system.

distrib: Scripts to distribute language-specific packages and other distribution-related helper scripts.

dockerfile: Docker files to test gRPC.

doxygen: gRPC C/C++ documentation generation via Doxygen.

gce: Scripts to help setup testing infrastructure on GCE.

gcp: Helper scripts for interacting with various services on GCP (like Google container engine, BigQuery etc)

internal_ci: Support for running tests on an internal CI platform.

interop_matrix: Scripts to build, upload, and run gRPC clients in docker with various language/runtimes.

jenkins: Support for running tests on Jenkins.

run_tests: Scripts to run gRPC tests in parallel.

run_tests/performance: See the README for more notes on the performance tests.