grpc-java/buildscripts
Sergii Tkachenko 79bb5e540d
buildscripts: simplify PSM interop Kokoro buildscripts (#11121) (#11158)
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 16:10:47 -07:00
..
grpc-java-artifacts buildscripts: Build Android with main build in linux_artifacts 2023-06-28 16:24:21 -07:00
kokoro buildscripts: simplify PSM interop Kokoro buildscripts (#11121) (#11158) 2024-05-06 16:10:47 -07:00
observability-test gcp observability: Update Docker images to eclipse-temurin (#10218) 2023-05-30 08:03:36 -07:00
qemu_helpers buildscripts: Fix prepare_qemu to not assume system already has emulation 2023-06-23 10:24:25 -07:00
xds-k8s buildscripts: Migrate PSM Interop to Artifact Registry (#11079) 2024-04-08 10:27:09 -07:00
build_artifacts_in_docker.sh Add support for cross-compiling for aarch64 platform 2019-12-06 14:21:34 -08:00
build_docker.sh buildscripts: Cross-compile in Docker 2023-04-18 16:16:35 -07:00
checkstyle.license all: normalize copyright header 2018-05-03 14:55:21 -07:00
checkstyle.xml Upgrade dependencies post v1.57.x branch cut (#10359) 2023-07-21 10:15:05 -07:00
make_dependencies.bat Use Protobuf 21.7 in our code generator 2022-10-04 10:22:52 -07:00
make_dependencies.sh Add support for cross-compiling for s390x platform (#9455) 2023-03-23 13:21:31 -07:00
run_arm64_tests_in_docker.sh Increase memory in Linux aarch64 (emulated) builds (#9111) 2022-04-27 16:02:05 -07:00
run_in_docker.sh Add support for cross-compiling for s390x platform (#9455) 2023-03-23 13:21:31 -07:00
set_github_status.py all: normalize copyright header 2018-05-03 14:55:21 -07:00
sign-local-repo.sh all: normalize copyright header 2018-05-03 14:55:21 -07:00
sonatype-upload.sh buildscripts: Fail sonatype-upload for non-200 HTTP status code 2023-06-15 13:35:00 -07:00
sync-protos.sh interop-testing: Support syncing protos from grpc-proto 2022-05-18 14:28:20 -07:00
xds_logging.properties buildscripts,interop-testing: Increase logging for xDS tests (#6818) 2020-03-11 20:34:26 -07:00