Skip to content

Commit 9741a17

Browse files
authored
[PSM Interop] Simplify PSM Interop Kokoro buildscripts (v1.62.x backport) (#36533)
Backport of #36450 to v1.62.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
1 parent 96f9847 commit 9741a17

21 files changed

+188
-1426
lines changed

tools/internal_ci/linux/grpc_xds_k8s_lb.cfg

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# Config file for the internal CI (in protobuf text format)
1616

1717
# Location of the continuous shell script in repository.
18-
build_file: "grpc/tools/internal_ci/linux/grpc_xds_k8s_lb.sh"
18+
build_file: "grpc/tools/internal_ci/linux/psm-interop-test-cpp.sh"
1919
timeout_mins: 240
2020
action {
2121
define_artifacts {
@@ -24,3 +24,7 @@ action {
2424
strip_prefix: "artifacts"
2525
}
2626
}
27+
env_vars {
28+
key: "PSM_TEST_SUITE"
29+
value: "lb"
30+
}

tools/internal_ci/linux/grpc_xds_k8s_lb.sh

Lines changed: 0 additions & 193 deletions
This file was deleted.

tools/internal_ci/linux/grpc_xds_k8s_lb_python.cfg

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# Config file for the internal CI (in protobuf text format)
1616

1717
# Location of the continuous shell script in repository.
18-
build_file: "grpc/tools/internal_ci/linux/grpc_xds_k8s_lb_python.sh"
18+
build_file: "grpc/tools/internal_ci/linux/psm-interop-test-python.sh"
1919
timeout_mins: 180
2020
action {
2121
define_artifacts {
@@ -24,3 +24,7 @@ action {
2424
strip_prefix: "artifacts"
2525
}
2626
}
27+
env_vars {
28+
key: "PSM_TEST_SUITE"
29+
value: "lb"
30+
}

0 commit comments

Comments
 (0)