Dedupe kokoro builds (#10400)
* Attempt to dedupe Bazel test
* Intentionally break a test to make sure presubmits still run
* Moving some shared configs to higher directories
* Adding root common.cfg
* Adding action cfgs at root directory
* Adding empty presubmit/continuous
* Going back to leaf directories
* Adding empty presubmit/continuous
* Unify continuous and presubmit configs
* Consolidate all presubmit/continuous into a common config file
* Revert "Intentionally break a test to make sure presubmits still run"
This reverts commit 978eb19f80ea46f4a0e07789f86e791c5f9790ac.
* Fixing POC config files
diff --git a/kokoro/linux/32-bit/common.cfg b/kokoro/linux/32-bit/common.cfg
new file mode 100644
index 0000000..28b66c0
--- /dev/null
+++ b/kokoro/linux/32-bit/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/32-bit/build.sh"
+timeout_mins: 120
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.xml"
+ }
+}
diff --git a/kokoro/linux/32-bit/continuous.cfg b/kokoro/linux/32-bit/continuous.cfg
index 28b66c0..8523c22 100644
--- a/kokoro/linux/32-bit/continuous.cfg
+++ b/kokoro/linux/32-bit/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/32-bit/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/32-bit/presubmit.cfg b/kokoro/linux/32-bit/presubmit.cfg
index 28b66c0..8523c22 100644
--- a/kokoro/linux/32-bit/presubmit.cfg
+++ b/kokoro/linux/32-bit/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/32-bit/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/bazel/common.cfg b/kokoro/linux/bazel/common.cfg
new file mode 100644
index 0000000..6d35d8b
--- /dev/null
+++ b/kokoro/linux/bazel/common.cfg
@@ -0,0 +1,16 @@
+# Default setup for the all of our Kokoro builds.
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 15
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//src/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/bazel/continuous.cfg b/kokoro/linux/bazel/continuous.cfg
index 21fe759..8523c22 100644
--- a/kokoro/linux/bazel/continuous.cfg
+++ b/kokoro/linux/bazel/continuous.cfg
@@ -1,16 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 15
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//src/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/bazel/presubmit.cfg b/kokoro/linux/bazel/presubmit.cfg
index 103128b..8523c22 100644
--- a/kokoro/linux/bazel/presubmit.cfg
+++ b/kokoro/linux/bazel/presubmit.cfg
@@ -1,16 +1 @@
-# Config file for running C++ Bazel tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 15
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//src/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake/common.cfg b/kokoro/linux/cmake/common.cfg
new file mode 100644
index 0000000..f03bd39
--- /dev/null
+++ b/kokoro/linux/cmake/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/cmake/build.sh"
+timeout_mins: 1440
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/cmake/continuous.cfg b/kokoro/linux/cmake/continuous.cfg
index f03bd39..8523c22 100644
--- a/kokoro/linux/cmake/continuous.cfg
+++ b/kokoro/linux/cmake/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake/presubmit.cfg b/kokoro/linux/cmake/presubmit.cfg
index f03bd39..8523c22 100644
--- a/kokoro/linux/cmake/presubmit.cfg
+++ b/kokoro/linux/cmake/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake_install/common.cfg b/kokoro/linux/cmake_install/common.cfg
new file mode 100644
index 0000000..f1ae0b3
--- /dev/null
+++ b/kokoro/linux/cmake_install/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/cmake_install/build.sh"
+timeout_mins: 1440
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/cmake_install/continuous.cfg b/kokoro/linux/cmake_install/continuous.cfg
index f1ae0b3..8523c22 100644
--- a/kokoro/linux/cmake_install/continuous.cfg
+++ b/kokoro/linux/cmake_install/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake_install/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake_install/presubmit.cfg b/kokoro/linux/cmake_install/presubmit.cfg
index f1ae0b3..8523c22 100644
--- a/kokoro/linux/cmake_install/presubmit.cfg
+++ b/kokoro/linux/cmake_install/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake_install/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake_ninja/common.cfg b/kokoro/linux/cmake_ninja/common.cfg
new file mode 100644
index 0000000..144fc90
--- /dev/null
+++ b/kokoro/linux/cmake_ninja/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/cmake_ninja/build.sh"
+timeout_mins: 1440
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/cmake_ninja/continuous.cfg b/kokoro/linux/cmake_ninja/continuous.cfg
index 144fc90..8523c22 100644
--- a/kokoro/linux/cmake_ninja/continuous.cfg
+++ b/kokoro/linux/cmake_ninja/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake_ninja/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake_ninja/presubmit.cfg b/kokoro/linux/cmake_ninja/presubmit.cfg
index 144fc90..8523c22 100644
--- a/kokoro/linux/cmake_ninja/presubmit.cfg
+++ b/kokoro/linux/cmake_ninja/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake_ninja/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake_shared/common.cfg b/kokoro/linux/cmake_shared/common.cfg
new file mode 100644
index 0000000..f03bd39
--- /dev/null
+++ b/kokoro/linux/cmake_shared/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/cmake/build.sh"
+timeout_mins: 1440
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/cmake_shared/continuous.cfg b/kokoro/linux/cmake_shared/continuous.cfg
index f03bd39..8523c22 100644
--- a/kokoro/linux/cmake_shared/continuous.cfg
+++ b/kokoro/linux/cmake_shared/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cmake_shared/presubmit.cfg b/kokoro/linux/cmake_shared/presubmit.cfg
index f03bd39..8523c22 100644
--- a/kokoro/linux/cmake_shared/presubmit.cfg
+++ b/kokoro/linux/cmake_shared/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/cmake/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cpp_aarch64/common.cfg b/kokoro/linux/cpp_aarch64/common.cfg
new file mode 100644
index 0000000..f77f73b
--- /dev/null
+++ b/kokoro/linux/cpp_aarch64/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/emulation/linux:aarch64-4e847d7a01c1792471b6dd985ab0bf2677332e6f"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//src/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/cpp_aarch64/continuous.cfg b/kokoro/linux/cpp_aarch64/continuous.cfg
index f77f73b..8523c22 100644
--- a/kokoro/linux/cpp_aarch64/continuous.cfg
+++ b/kokoro/linux/cpp_aarch64/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/emulation/linux:aarch64-4e847d7a01c1792471b6dd985ab0bf2677332e6f"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//src/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cpp_aarch64/presubmit.cfg b/kokoro/linux/cpp_aarch64/presubmit.cfg
index f77f73b..8523c22 100644
--- a/kokoro/linux/cpp_aarch64/presubmit.cfg
+++ b/kokoro/linux/cpp_aarch64/presubmit.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/emulation/linux:aarch64-4e847d7a01c1792471b6dd985ab0bf2677332e6f"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//src/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cpp_tcmalloc/common.cfg b/kokoro/linux/cpp_tcmalloc/common.cfg
new file mode 100644
index 0000000..fb76204
--- /dev/null
+++ b/kokoro/linux/cpp_tcmalloc/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 1440
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/tcmalloc/linux:64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//src/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/cpp_tcmalloc/continuous.cfg b/kokoro/linux/cpp_tcmalloc/continuous.cfg
index fb76204..8523c22 100644
--- a/kokoro/linux/cpp_tcmalloc/continuous.cfg
+++ b/kokoro/linux/cpp_tcmalloc/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 1440
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/tcmalloc/linux:64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//src/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/cpp_tcmalloc/presubmit.cfg b/kokoro/linux/cpp_tcmalloc/presubmit.cfg
index fb76204..8523c22 100644
--- a/kokoro/linux/cpp_tcmalloc/presubmit.cfg
+++ b/kokoro/linux/cpp_tcmalloc/presubmit.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 1440
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/tcmalloc/linux:64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//src/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/csharp/common.cfg b/kokoro/linux/csharp/common.cfg
new file mode 100644
index 0000000..2332c00
--- /dev/null
+++ b/kokoro/linux/csharp/common.cfg
@@ -0,0 +1,27 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 1440
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/csharp/linux:3.1.415-6.0.100-6bbe70439ba5b0404bb12662cebc0296909389fa"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//csharp/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--action_env=DOTNET_CLI_TELEMETRY_OPTOUT=1 "
+ "--test_env=DOTNET_CLI_HOME=/home/bazel"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/csharp/continuous.cfg b/kokoro/linux/csharp/continuous.cfg
index 2332c00..8523c22 100644
--- a/kokoro/linux/csharp/continuous.cfg
+++ b/kokoro/linux/csharp/continuous.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 1440
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/csharp/linux:3.1.415-6.0.100-6bbe70439ba5b0404bb12662cebc0296909389fa"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//csharp/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--action_env=DOTNET_CLI_TELEMETRY_OPTOUT=1 "
- "--test_env=DOTNET_CLI_HOME=/home/bazel"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/csharp/presubmit.cfg b/kokoro/linux/csharp/presubmit.cfg
index 2332c00..8523c22 100644
--- a/kokoro/linux/csharp/presubmit.cfg
+++ b/kokoro/linux/csharp/presubmit.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 1440
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/csharp/linux:3.1.415-6.0.100-6bbe70439ba5b0404bb12662cebc0296909389fa"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//csharp/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--action_env=DOTNET_CLI_TELEMETRY_OPTOUT=1 "
- "--test_env=DOTNET_CLI_HOME=/home/bazel"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/csharp_aarch64/common.cfg b/kokoro/linux/csharp_aarch64/common.cfg
new file mode 100644
index 0000000..df28ef3
--- /dev/null
+++ b/kokoro/linux/csharp_aarch64/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/csharp_aarch64/build.sh"
+timeout_mins: 120
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.xml"
+ }
+}
diff --git a/kokoro/linux/csharp_aarch64/continuous.cfg b/kokoro/linux/csharp_aarch64/continuous.cfg
index df28ef3..8523c22 100644
--- a/kokoro/linux/csharp_aarch64/continuous.cfg
+++ b/kokoro/linux/csharp_aarch64/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/csharp_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/csharp_aarch64/presubmit.cfg b/kokoro/linux/csharp_aarch64/presubmit.cfg
index df28ef3..8523c22 100644
--- a/kokoro/linux/csharp_aarch64/presubmit.cfg
+++ b/kokoro/linux/csharp_aarch64/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/csharp_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_aarch64/common.cfg b/kokoro/linux/java_aarch64/common.cfg
new file mode 100644
index 0000000..75e3f0b
--- /dev/null
+++ b/kokoro/linux/java_aarch64/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/emulation/linux:aarch64-4e847d7a01c1792471b6dd985ab0bf2677332e6f"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//java/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/java_aarch64/continuous.cfg b/kokoro/linux/java_aarch64/continuous.cfg
index 75e3f0b..8523c22 100644
--- a/kokoro/linux/java_aarch64/continuous.cfg
+++ b/kokoro/linux/java_aarch64/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/emulation/linux:aarch64-4e847d7a01c1792471b6dd985ab0bf2677332e6f"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//java/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_aarch64/presubmit.cfg b/kokoro/linux/java_aarch64/presubmit.cfg
index bca25d1..8523c22 100644
--- a/kokoro/linux/java_aarch64/presubmit.cfg
+++ b/kokoro/linux/java_aarch64/presubmit.cfg
@@ -1,20 +1 @@
-# Config file for running tests in Kokoro
-
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/emulation/linux:aarch64-4e847d7a01c1792471b6dd985ab0bf2677332e6f"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//java/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_jdk11/common.cfg b/kokoro/linux/java_jdk11/common.cfg
new file mode 100644
index 0000000..3db5cd0
--- /dev/null
+++ b/kokoro/linux/java_jdk11/common.cfg
@@ -0,0 +1,16 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//java/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/java_jdk11/continuous.cfg b/kokoro/linux/java_jdk11/continuous.cfg
index 3db5cd0..8523c22 100644
--- a/kokoro/linux/java_jdk11/continuous.cfg
+++ b/kokoro/linux/java_jdk11/continuous.cfg
@@ -1,16 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//java/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_jdk11/presubmit.cfg b/kokoro/linux/java_jdk11/presubmit.cfg
index 04d8214..8523c22 100644
--- a/kokoro/linux/java_jdk11/presubmit.cfg
+++ b/kokoro/linux/java_jdk11/presubmit.cfg
@@ -1,16 +1 @@
-# Config file for running Linkage Monitor in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//java/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_jdk17/common.cfg b/kokoro/linux/java_jdk17/common.cfg
new file mode 100644
index 0000000..cd31eda
--- /dev/null
+++ b/kokoro/linux/java_jdk17/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/java/linux:17-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//java/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/java_jdk17/continuous.cfg b/kokoro/linux/java_jdk17/continuous.cfg
index cd31eda..8523c22 100644
--- a/kokoro/linux/java_jdk17/continuous.cfg
+++ b/kokoro/linux/java_jdk17/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/java/linux:17-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//java/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_jdk17/presubmit.cfg b/kokoro/linux/java_jdk17/presubmit.cfg
index 4574a0f..8523c22 100644
--- a/kokoro/linux/java_jdk17/presubmit.cfg
+++ b/kokoro/linux/java_jdk17/presubmit.cfg
@@ -1,21 +1 @@
-# Config file for running Linkage Monitor in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/java/linux:17-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//java/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_linkage_monitor/common.cfg b/kokoro/linux/java_linkage_monitor/common.cfg
new file mode 100644
index 0000000..c02a52f
--- /dev/null
+++ b/kokoro/linux/java_linkage_monitor/common.cfg
@@ -0,0 +1,12 @@
+# Config file for running Linkage Monitor in Kokoro
+# https://github.com/GoogleCloudPlatform/cloud-opensource-java/tree/master/linkage-monitor
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/java_linkage_monitor/build.sh"
+timeout_mins: 120
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.xml"
+ }
+}
diff --git a/kokoro/linux/java_linkage_monitor/continuous.cfg b/kokoro/linux/java_linkage_monitor/continuous.cfg
index d0486cc..8523c22 100644
--- a/kokoro/linux/java_linkage_monitor/continuous.cfg
+++ b/kokoro/linux/java_linkage_monitor/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/java_linkage_monitor/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/java_linkage_monitor/presubmit.cfg b/kokoro/linux/java_linkage_monitor/presubmit.cfg
index c02a52f..8523c22 100644
--- a/kokoro/linux/java_linkage_monitor/presubmit.cfg
+++ b/kokoro/linux/java_linkage_monitor/presubmit.cfg
@@ -1,12 +1 @@
-# Config file for running Linkage Monitor in Kokoro
-# https://github.com/GoogleCloudPlatform/cloud-opensource-java/tree/master/linkage-monitor
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/java_linkage_monitor/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/jruby92/common.cfg b/kokoro/linux/jruby92/common.cfg
new file mode 100644
index 0000000..9db8f50
--- /dev/null
+++ b/kokoro/linux/jruby92/common.cfg
@@ -0,0 +1,26 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/ruby/linux:jruby-9.2.20.1-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//ruby/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=ruby_platform=java"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/jruby92/continuous.cfg b/kokoro/linux/jruby92/continuous.cfg
index 9db8f50..8523c22 100644
--- a/kokoro/linux/jruby92/continuous.cfg
+++ b/kokoro/linux/jruby92/continuous.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:jruby-9.2.20.1-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=java"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/jruby92/presubmit.cfg b/kokoro/linux/jruby92/presubmit.cfg
index 9db8f50..8523c22 100644
--- a/kokoro/linux/jruby92/presubmit.cfg
+++ b/kokoro/linux/jruby92/presubmit.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:jruby-9.2.20.1-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=java"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/jruby93/common.cfg b/kokoro/linux/jruby93/common.cfg
new file mode 100644
index 0000000..a5a9bd2
--- /dev/null
+++ b/kokoro/linux/jruby93/common.cfg
@@ -0,0 +1,26 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/ruby/linux:jruby-9.3.4.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//ruby/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=ruby_platform=java"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/jruby93/continuous.cfg b/kokoro/linux/jruby93/continuous.cfg
index a5a9bd2..8523c22 100644
--- a/kokoro/linux/jruby93/continuous.cfg
+++ b/kokoro/linux/jruby93/continuous.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:jruby-9.3.4.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=java"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/jruby93/presubmit.cfg b/kokoro/linux/jruby93/presubmit.cfg
index a5a9bd2..8523c22 100644
--- a/kokoro/linux/jruby93/presubmit.cfg
+++ b/kokoro/linux/jruby93/presubmit.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:jruby-9.3.4.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=java"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/php_aarch64/common.cfg b/kokoro/linux/php_aarch64/common.cfg
new file mode 100644
index 0000000..ff20682
--- /dev/null
+++ b/kokoro/linux/php_aarch64/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/php_aarch64/build.sh"
+timeout_mins: 120
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.xml"
+ }
+}
diff --git a/kokoro/linux/php_aarch64/continuous.cfg b/kokoro/linux/php_aarch64/continuous.cfg
index ff20682..8523c22 100644
--- a/kokoro/linux/php_aarch64/continuous.cfg
+++ b/kokoro/linux/php_aarch64/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/php_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/php_aarch64/presubmit.cfg b/kokoro/linux/php_aarch64/presubmit.cfg
index ff20682..8523c22 100644
--- a/kokoro/linux/php_aarch64/presubmit.cfg
+++ b/kokoro/linux/php_aarch64/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/php_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/php_all/common.cfg b/kokoro/linux/php_all/common.cfg
new file mode 100644
index 0000000..dfa8037
--- /dev/null
+++ b/kokoro/linux/php_all/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/php_all/build.sh"
+timeout_mins: 120
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.xml"
+ }
+}
diff --git a/kokoro/linux/php_all/continuous.cfg b/kokoro/linux/php_all/continuous.cfg
index dfa8037..8523c22 100644
--- a/kokoro/linux/php_all/continuous.cfg
+++ b/kokoro/linux/php_all/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/php_all/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/php_all/presubmit.cfg b/kokoro/linux/php_all/presubmit.cfg
index dfa8037..8523c22 100644
--- a/kokoro/linux/php_all/presubmit.cfg
+++ b/kokoro/linux/php_all/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/php_all/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python310/common.cfg b/kokoro/linux/python310/common.cfg
new file mode 100644
index 0000000..7e4a798
--- /dev/null
+++ b/kokoro/linux/python310/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.10-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//python/... @upb//python/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python310/continuous.cfg b/kokoro/linux/python310/continuous.cfg
index 7e4a798..8523c22 100644
--- a/kokoro/linux/python310/continuous.cfg
+++ b/kokoro/linux/python310/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.10-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python310/presubmit.cfg b/kokoro/linux/python310/presubmit.cfg
index 7e4a798..8523c22 100644
--- a/kokoro/linux/python310/presubmit.cfg
+++ b/kokoro/linux/python310/presubmit.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.10-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python310_cpp/common.cfg b/kokoro/linux/python310_cpp/common.cfg
new file mode 100644
index 0000000..5b87fd6
--- /dev/null
+++ b/kokoro/linux/python310_cpp/common.cfg
@@ -0,0 +1,27 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.10-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ # Note: upb tests don't work since the C++ extension takes precedence here.
+ value: "//python/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=use_fast_cpp_protos=true"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python310_cpp/continuous.cfg b/kokoro/linux/python310_cpp/continuous.cfg
index e76abe1..8523c22 100644
--- a/kokoro/linux/python310_cpp/continuous.cfg
+++ b/kokoro/linux/python310_cpp/continuous.cfg
@@ -1,28 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.10-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python310_cpp/presubmit.cfg b/kokoro/linux/python310_cpp/presubmit.cfg
index 5b87fd6..8523c22 100644
--- a/kokoro/linux/python310_cpp/presubmit.cfg
+++ b/kokoro/linux/python310_cpp/presubmit.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.10-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python37/common.cfg b/kokoro/linux/python37/common.cfg
new file mode 100644
index 0000000..3ae100c
--- /dev/null
+++ b/kokoro/linux/python37/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.7-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//python/... @upb//python/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python37/continuous.cfg b/kokoro/linux/python37/continuous.cfg
index 3ae100c..8523c22 100644
--- a/kokoro/linux/python37/continuous.cfg
+++ b/kokoro/linux/python37/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.7-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python37/presubmit.cfg b/kokoro/linux/python37/presubmit.cfg
index 3ae100c..8523c22 100644
--- a/kokoro/linux/python37/presubmit.cfg
+++ b/kokoro/linux/python37/presubmit.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.7-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python37_cpp/common.cfg b/kokoro/linux/python37_cpp/common.cfg
new file mode 100644
index 0000000..ebef928
--- /dev/null
+++ b/kokoro/linux/python37_cpp/common.cfg
@@ -0,0 +1,27 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.7-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ # Note: upb tests don't work since the C++ extension takes precedence here.
+ value: "//python/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=use_fast_cpp_protos=true"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python37_cpp/continuous.cfg b/kokoro/linux/python37_cpp/continuous.cfg
index ebef928..8523c22 100644
--- a/kokoro/linux/python37_cpp/continuous.cfg
+++ b/kokoro/linux/python37_cpp/continuous.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.7-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python37_cpp/presubmit.cfg b/kokoro/linux/python37_cpp/presubmit.cfg
index ebef928..8523c22 100644
--- a/kokoro/linux/python37_cpp/presubmit.cfg
+++ b/kokoro/linux/python37_cpp/presubmit.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.7-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python38/common.cfg b/kokoro/linux/python38/common.cfg
new file mode 100644
index 0000000..7d9e7aa
--- /dev/null
+++ b/kokoro/linux/python38/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.8-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//python/... @upb//python/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python38/continuous.cfg b/kokoro/linux/python38/continuous.cfg
index 7d9e7aa..8523c22 100644
--- a/kokoro/linux/python38/continuous.cfg
+++ b/kokoro/linux/python38/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.8-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python38/presubmit.cfg b/kokoro/linux/python38/presubmit.cfg
index 7d9e7aa..8523c22 100644
--- a/kokoro/linux/python38/presubmit.cfg
+++ b/kokoro/linux/python38/presubmit.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.8-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python38_cpp/common.cfg b/kokoro/linux/python38_cpp/common.cfg
new file mode 100644
index 0000000..decd466
--- /dev/null
+++ b/kokoro/linux/python38_cpp/common.cfg
@@ -0,0 +1,27 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.8-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ # Note: upb tests don't work since the C++ extension takes precedence here.
+ value: "//python/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=use_fast_cpp_protos=true"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python38_cpp/continuous.cfg b/kokoro/linux/python38_cpp/continuous.cfg
index decd466..8523c22 100644
--- a/kokoro/linux/python38_cpp/continuous.cfg
+++ b/kokoro/linux/python38_cpp/continuous.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.8-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python38_cpp/presubmit.cfg b/kokoro/linux/python38_cpp/presubmit.cfg
index decd466..8523c22 100644
--- a/kokoro/linux/python38_cpp/presubmit.cfg
+++ b/kokoro/linux/python38_cpp/presubmit.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.8-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python39/common.cfg b/kokoro/linux/python39/common.cfg
new file mode 100644
index 0000000..5133ab5
--- /dev/null
+++ b/kokoro/linux/python39/common.cfg
@@ -0,0 +1,21 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.9-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//python/... @upb//python/..."
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python39/continuous.cfg b/kokoro/linux/python39/continuous.cfg
index 5133ab5..8523c22 100644
--- a/kokoro/linux/python39/continuous.cfg
+++ b/kokoro/linux/python39/continuous.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.9-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python39/presubmit.cfg b/kokoro/linux/python39/presubmit.cfg
index 5133ab5..8523c22 100644
--- a/kokoro/linux/python39/presubmit.cfg
+++ b/kokoro/linux/python39/presubmit.cfg
@@ -1,21 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.9-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//python/... @upb//python/..."
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python39_cpp/common.cfg b/kokoro/linux/python39_cpp/common.cfg
new file mode 100644
index 0000000..9797008
--- /dev/null
+++ b/kokoro/linux/python39_cpp/common.cfg
@@ -0,0 +1,27 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/python/linux:3.9-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ # Note: upb tests don't work since the C++ extension takes precedence here.
+ value: "//python/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=use_fast_cpp_protos=true"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/python39_cpp/continuous.cfg b/kokoro/linux/python39_cpp/continuous.cfg
index 9797008..8523c22 100644
--- a/kokoro/linux/python39_cpp/continuous.cfg
+++ b/kokoro/linux/python39_cpp/continuous.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.9-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python39_cpp/presubmit.cfg b/kokoro/linux/python39_cpp/presubmit.cfg
index 9797008..8523c22 100644
--- a/kokoro/linux/python39_cpp/presubmit.cfg
+++ b/kokoro/linux/python39_cpp/presubmit.cfg
@@ -1,27 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/python/linux:3.9-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- # Note: upb tests don't work since the C++ extension takes precedence here.
- value: "//python/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=use_fast_cpp_protos=true"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python_aarch64/common.cfg b/kokoro/linux/python_aarch64/common.cfg
new file mode 100644
index 0000000..dee4a47
--- /dev/null
+++ b/kokoro/linux/python_aarch64/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/python_aarch64/build.sh"
+timeout_mins: 120
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.xml"
+ }
+}
diff --git a/kokoro/linux/python_aarch64/continuous.cfg b/kokoro/linux/python_aarch64/continuous.cfg
index dee4a47..8523c22 100644
--- a/kokoro/linux/python_aarch64/continuous.cfg
+++ b/kokoro/linux/python_aarch64/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/python_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/python_aarch64/presubmit.cfg b/kokoro/linux/python_aarch64/presubmit.cfg
index dee4a47..8523c22 100644
--- a/kokoro/linux/python_aarch64/presubmit.cfg
+++ b/kokoro/linux/python_aarch64/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/python_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby25/common.cfg b/kokoro/linux/ruby25/common.cfg
new file mode 100644
index 0000000..ec975cd
--- /dev/null
+++ b/kokoro/linux/ruby25/common.cfg
@@ -0,0 +1,26 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/ruby/linux:ruby-2.5.1-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//ruby/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=ruby_platform=c"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/ruby25/continuous.cfg b/kokoro/linux/ruby25/continuous.cfg
index ec975cd..8523c22 100644
--- a/kokoro/linux/ruby25/continuous.cfg
+++ b/kokoro/linux/ruby25/continuous.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-2.5.1-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby25/presubmit.cfg b/kokoro/linux/ruby25/presubmit.cfg
index ec975cd..8523c22 100644
--- a/kokoro/linux/ruby25/presubmit.cfg
+++ b/kokoro/linux/ruby25/presubmit.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-2.5.1-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby26/common.cfg b/kokoro/linux/ruby26/common.cfg
new file mode 100644
index 0000000..d09a405
--- /dev/null
+++ b/kokoro/linux/ruby26/common.cfg
@@ -0,0 +1,26 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/ruby/linux:ruby-2.6.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//ruby/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=ruby_platform=c"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/ruby26/continuous.cfg b/kokoro/linux/ruby26/continuous.cfg
index d09a405..8523c22 100644
--- a/kokoro/linux/ruby26/continuous.cfg
+++ b/kokoro/linux/ruby26/continuous.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-2.6.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby26/presubmit.cfg b/kokoro/linux/ruby26/presubmit.cfg
index d09a405..8523c22 100644
--- a/kokoro/linux/ruby26/presubmit.cfg
+++ b/kokoro/linux/ruby26/presubmit.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-2.6.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby27/common.cfg b/kokoro/linux/ruby27/common.cfg
new file mode 100644
index 0000000..51afa75
--- /dev/null
+++ b/kokoro/linux/ruby27/common.cfg
@@ -0,0 +1,26 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/ruby/linux:ruby-2.7.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//ruby/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=ruby_platform=c"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/ruby27/continuous.cfg b/kokoro/linux/ruby27/continuous.cfg
index 51afa75..8523c22 100644
--- a/kokoro/linux/ruby27/continuous.cfg
+++ b/kokoro/linux/ruby27/continuous.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-2.7.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby27/presubmit.cfg b/kokoro/linux/ruby27/presubmit.cfg
index 51afa75..8523c22 100644
--- a/kokoro/linux/ruby27/presubmit.cfg
+++ b/kokoro/linux/ruby27/presubmit.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-2.7.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby30/common.cfg b/kokoro/linux/ruby30/common.cfg
new file mode 100644
index 0000000..338505e
--- /dev/null
+++ b/kokoro/linux/ruby30/common.cfg
@@ -0,0 +1,26 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/ruby/linux:ruby-3.0.2-2f706fd1ab49f4e97af769388be486069b63efee"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//ruby/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=ruby_platform=c"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/ruby30/continuous.cfg b/kokoro/linux/ruby30/continuous.cfg
index 338505e..8523c22 100644
--- a/kokoro/linux/ruby30/continuous.cfg
+++ b/kokoro/linux/ruby30/continuous.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-3.0.2-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby30/presubmit.cfg b/kokoro/linux/ruby30/presubmit.cfg
index 338505e..8523c22 100644
--- a/kokoro/linux/ruby30/presubmit.cfg
+++ b/kokoro/linux/ruby30/presubmit.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-3.0.2-2f706fd1ab49f4e97af769388be486069b63efee"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby31/common.cfg b/kokoro/linux/ruby31/common.cfg
new file mode 100644
index 0000000..588fe13
--- /dev/null
+++ b/kokoro/linux/ruby31/common.cfg
@@ -0,0 +1,26 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/bazel.sh"
+timeout_mins: 120
+
+env_vars {
+ key: "CONTAINER_IMAGE"
+ value: "gcr.io/protobuf-build/ruby/linux:ruby-3.1.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
+}
+
+env_vars {
+ key: "BAZEL_TARGETS"
+ value: "//ruby/..."
+}
+
+env_vars {
+ key: "BAZEL_EXTRA_FLAGS"
+ value: "--define=ruby_platform=c"
+}
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.*"
+ }
+}
diff --git a/kokoro/linux/ruby31/continuous.cfg b/kokoro/linux/ruby31/continuous.cfg
index 588fe13..8523c22 100644
--- a/kokoro/linux/ruby31/continuous.cfg
+++ b/kokoro/linux/ruby31/continuous.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-3.1.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby31/presubmit.cfg b/kokoro/linux/ruby31/presubmit.cfg
index 588fe13..8523c22 100644
--- a/kokoro/linux/ruby31/presubmit.cfg
+++ b/kokoro/linux/ruby31/presubmit.cfg
@@ -1,26 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/bazel.sh"
-timeout_mins: 120
-
-env_vars {
- key: "CONTAINER_IMAGE"
- value: "gcr.io/protobuf-build/ruby/linux:ruby-3.1.0-64e8944e4f18d7d6c9649112a8a93be57e693cd8"
-}
-
-env_vars {
- key: "BAZEL_TARGETS"
- value: "//ruby/..."
-}
-
-env_vars {
- key: "BAZEL_EXTRA_FLAGS"
- value: "--define=ruby_platform=c"
-}
-
-action {
- define_artifacts {
- regex: "**/sponge_log.*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby_aarch64/common.cfg b/kokoro/linux/ruby_aarch64/common.cfg
new file mode 100644
index 0000000..ae82696
--- /dev/null
+++ b/kokoro/linux/ruby_aarch64/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/ruby_aarch64/build.sh"
+timeout_mins: 120
+
+action {
+ define_artifacts {
+ regex: "**/sponge_log.xml"
+ }
+}
diff --git a/kokoro/linux/ruby_aarch64/continuous.cfg b/kokoro/linux/ruby_aarch64/continuous.cfg
index ae82696..8523c22 100644
--- a/kokoro/linux/ruby_aarch64/continuous.cfg
+++ b/kokoro/linux/ruby_aarch64/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/ruby_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/linux/ruby_aarch64/presubmit.cfg b/kokoro/linux/ruby_aarch64/presubmit.cfg
index ae82696..8523c22 100644
--- a/kokoro/linux/ruby_aarch64/presubmit.cfg
+++ b/kokoro/linux/ruby_aarch64/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/linux/ruby_aarch64/build.sh"
-timeout_mins: 120
-
-action {
- define_artifacts {
- regex: "**/sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos-next/cpp/common.cfg b/kokoro/macos-next/cpp/common.cfg
new file mode 100644
index 0000000..166caa5
--- /dev/null
+++ b/kokoro/macos-next/cpp/common.cfg
@@ -0,0 +1,13 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos-next/cpp/build.sh"
+timeout_mins: 1440
+
+# Upload logs
+action: {
+ define_artifacts: {
+ regex: "**/*sponge_log.log"
+ regex: "**/*sponge_log.xml"
+ }
+}
diff --git a/kokoro/macos-next/cpp/continuous.cfg b/kokoro/macos-next/cpp/continuous.cfg
index 166caa5..8523c22 100644
--- a/kokoro/macos-next/cpp/continuous.cfg
+++ b/kokoro/macos-next/cpp/continuous.cfg
@@ -1,13 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos-next/cpp/build.sh"
-timeout_mins: 1440
-
-# Upload logs
-action: {
- define_artifacts: {
- regex: "**/*sponge_log.log"
- regex: "**/*sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos-next/cpp/presubmit.cfg b/kokoro/macos-next/cpp/presubmit.cfg
index 166caa5..8523c22 100644
--- a/kokoro/macos-next/cpp/presubmit.cfg
+++ b/kokoro/macos-next/cpp/presubmit.cfg
@@ -1,13 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos-next/cpp/build.sh"
-timeout_mins: 1440
-
-# Upload logs
-action: {
- define_artifacts: {
- regex: "**/*sponge_log.log"
- regex: "**/*sponge_log.xml"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/cpp/common.cfg b/kokoro/macos/cpp/common.cfg
new file mode 100644
index 0000000..4bea1cb
--- /dev/null
+++ b/kokoro/macos/cpp/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/cpp/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/cpp/continuous.cfg b/kokoro/macos/cpp/continuous.cfg
index 4bea1cb..8523c22 100644
--- a/kokoro/macos/cpp/continuous.cfg
+++ b/kokoro/macos/cpp/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/cpp/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/cpp/presubmit.cfg b/kokoro/macos/cpp/presubmit.cfg
index 4bea1cb..8523c22 100644
--- a/kokoro/macos/cpp/presubmit.cfg
+++ b/kokoro/macos/cpp/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/cpp/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/objectivec_ios_debug/common.cfg b/kokoro/macos/objectivec_ios_debug/common.cfg
new file mode 100644
index 0000000..473d545
--- /dev/null
+++ b/kokoro/macos/objectivec_ios_debug/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/objectivec_ios_debug/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/objectivec_ios_debug/continuous.cfg b/kokoro/macos/objectivec_ios_debug/continuous.cfg
index 473d545..8523c22 100644
--- a/kokoro/macos/objectivec_ios_debug/continuous.cfg
+++ b/kokoro/macos/objectivec_ios_debug/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_ios_debug/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/objectivec_ios_debug/presubmit.cfg b/kokoro/macos/objectivec_ios_debug/presubmit.cfg
index 473d545..8523c22 100644
--- a/kokoro/macos/objectivec_ios_debug/presubmit.cfg
+++ b/kokoro/macos/objectivec_ios_debug/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_ios_debug/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/objectivec_ios_release/common.cfg b/kokoro/macos/objectivec_ios_release/common.cfg
new file mode 100644
index 0000000..3cbfb68
--- /dev/null
+++ b/kokoro/macos/objectivec_ios_release/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/objectivec_ios_release/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/objectivec_ios_release/continuous.cfg b/kokoro/macos/objectivec_ios_release/continuous.cfg
index 3cbfb68..8523c22 100644
--- a/kokoro/macos/objectivec_ios_release/continuous.cfg
+++ b/kokoro/macos/objectivec_ios_release/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_ios_release/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/objectivec_ios_release/presubmit.cfg b/kokoro/macos/objectivec_ios_release/presubmit.cfg
index 3cbfb68..8523c22 100644
--- a/kokoro/macos/objectivec_ios_release/presubmit.cfg
+++ b/kokoro/macos/objectivec_ios_release/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_ios_release/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/objectivec_osx/common.cfg b/kokoro/macos/objectivec_osx/common.cfg
new file mode 100644
index 0000000..41bd46a
--- /dev/null
+++ b/kokoro/macos/objectivec_osx/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/objectivec_osx/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/objectivec_osx/continuous.cfg b/kokoro/macos/objectivec_osx/continuous.cfg
index 41bd46a..8523c22 100644
--- a/kokoro/macos/objectivec_osx/continuous.cfg
+++ b/kokoro/macos/objectivec_osx/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_osx/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/objectivec_osx/presubmit.cfg b/kokoro/macos/objectivec_osx/presubmit.cfg
index 41bd46a..8523c22 100644
--- a/kokoro/macos/objectivec_osx/presubmit.cfg
+++ b/kokoro/macos/objectivec_osx/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_osx/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/php74/common.cfg b/kokoro/macos/php74/common.cfg
new file mode 100644
index 0000000..cf7e80b
--- /dev/null
+++ b/kokoro/macos/php74/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/php74/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/php74/continuous.cfg b/kokoro/macos/php74/continuous.cfg
index cf7e80b..8523c22 100644
--- a/kokoro/macos/php74/continuous.cfg
+++ b/kokoro/macos/php74/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/php74/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/php74/presubmit.cfg b/kokoro/macos/php74/presubmit.cfg
index cf7e80b..8523c22 100644
--- a/kokoro/macos/php74/presubmit.cfg
+++ b/kokoro/macos/php74/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/php74/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/php80/common.cfg b/kokoro/macos/php80/common.cfg
new file mode 100644
index 0000000..ded43e6
--- /dev/null
+++ b/kokoro/macos/php80/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/php80/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/php80/continuous.cfg b/kokoro/macos/php80/continuous.cfg
index ded43e6..8523c22 100644
--- a/kokoro/macos/php80/continuous.cfg
+++ b/kokoro/macos/php80/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/php80/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/php80/presubmit.cfg b/kokoro/macos/php80/presubmit.cfg
index ded43e6..8523c22 100644
--- a/kokoro/macos/php80/presubmit.cfg
+++ b/kokoro/macos/php80/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/php80/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/python/common.cfg b/kokoro/macos/python/common.cfg
new file mode 100644
index 0000000..ac3cbee
--- /dev/null
+++ b/kokoro/macos/python/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/python/build.sh"
+timeout_mins: 1440
+
+action {
+ define_artifacts {
+ regex: "**/*"
+ }
+}
diff --git a/kokoro/macos/python/continuous.cfg b/kokoro/macos/python/continuous.cfg
index 0fc8b50..8523c22 100644
--- a/kokoro/macos/python/continuous.cfg
+++ b/kokoro/macos/python/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/python/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/python/presubmit.cfg b/kokoro/macos/python/presubmit.cfg
index ac3cbee..8523c22 100644
--- a/kokoro/macos/python/presubmit.cfg
+++ b/kokoro/macos/python/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/python/build.sh"
-timeout_mins: 1440
-
-action {
- define_artifacts {
- regex: "**/*"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/python_cpp/common.cfg b/kokoro/macos/python_cpp/common.cfg
new file mode 100644
index 0000000..22f4a0e
--- /dev/null
+++ b/kokoro/macos/python_cpp/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/python_cpp/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/python_cpp/continuous.cfg b/kokoro/macos/python_cpp/continuous.cfg
index 22f4a0e..8523c22 100644
--- a/kokoro/macos/python_cpp/continuous.cfg
+++ b/kokoro/macos/python_cpp/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/python_cpp/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/python_cpp/presubmit.cfg b/kokoro/macos/python_cpp/presubmit.cfg
index 22f4a0e..8523c22 100644
--- a/kokoro/macos/python_cpp/presubmit.cfg
+++ b/kokoro/macos/python_cpp/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/python_cpp/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby25/common.cfg b/kokoro/macos/ruby25/common.cfg
new file mode 100644
index 0000000..b3755e4
--- /dev/null
+++ b/kokoro/macos/ruby25/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/ruby25/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/ruby25/continuous.cfg b/kokoro/macos/ruby25/continuous.cfg
index b3755e4..8523c22 100644
--- a/kokoro/macos/ruby25/continuous.cfg
+++ b/kokoro/macos/ruby25/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby25/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby25/presubmit.cfg b/kokoro/macos/ruby25/presubmit.cfg
index b3755e4..8523c22 100644
--- a/kokoro/macos/ruby25/presubmit.cfg
+++ b/kokoro/macos/ruby25/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby25/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby26/common.cfg b/kokoro/macos/ruby26/common.cfg
new file mode 100644
index 0000000..688f63c
--- /dev/null
+++ b/kokoro/macos/ruby26/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/ruby26/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/ruby26/continuous.cfg b/kokoro/macos/ruby26/continuous.cfg
index 688f63c..8523c22 100644
--- a/kokoro/macos/ruby26/continuous.cfg
+++ b/kokoro/macos/ruby26/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby26/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby26/presubmit.cfg b/kokoro/macos/ruby26/presubmit.cfg
index 688f63c..8523c22 100644
--- a/kokoro/macos/ruby26/presubmit.cfg
+++ b/kokoro/macos/ruby26/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby26/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby27/common.cfg b/kokoro/macos/ruby27/common.cfg
new file mode 100644
index 0000000..b10b455
--- /dev/null
+++ b/kokoro/macos/ruby27/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/ruby27/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/ruby27/continuous.cfg b/kokoro/macos/ruby27/continuous.cfg
index b10b455..8523c22 100644
--- a/kokoro/macos/ruby27/continuous.cfg
+++ b/kokoro/macos/ruby27/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby27/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby27/presubmit.cfg b/kokoro/macos/ruby27/presubmit.cfg
index b10b455..8523c22 100644
--- a/kokoro/macos/ruby27/presubmit.cfg
+++ b/kokoro/macos/ruby27/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby27/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby30/common.cfg b/kokoro/macos/ruby30/common.cfg
new file mode 100644
index 0000000..d505117
--- /dev/null
+++ b/kokoro/macos/ruby30/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/ruby30/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/ruby30/continuous.cfg b/kokoro/macos/ruby30/continuous.cfg
index d505117..8523c22 100644
--- a/kokoro/macos/ruby30/continuous.cfg
+++ b/kokoro/macos/ruby30/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby30/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby30/presubmit.cfg b/kokoro/macos/ruby30/presubmit.cfg
index d505117..8523c22 100644
--- a/kokoro/macos/ruby30/presubmit.cfg
+++ b/kokoro/macos/ruby30/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby30/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby31/common.cfg b/kokoro/macos/ruby31/common.cfg
new file mode 100644
index 0000000..19e16b3
--- /dev/null
+++ b/kokoro/macos/ruby31/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/macos/ruby31/build.sh"
+timeout_mins: 1440
diff --git a/kokoro/macos/ruby31/continuous.cfg b/kokoro/macos/ruby31/continuous.cfg
index 19e16b3..8523c22 100644
--- a/kokoro/macos/ruby31/continuous.cfg
+++ b/kokoro/macos/ruby31/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby31/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/macos/ruby31/presubmit.cfg b/kokoro/macos/ruby31/presubmit.cfg
index 19e16b3..8523c22 100644
--- a/kokoro/macos/ruby31/presubmit.cfg
+++ b/kokoro/macos/ruby31/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/ruby31/build.sh"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/release/csharp/windows/common.cfg b/kokoro/release/csharp/windows/common.cfg
new file mode 100644
index 0000000..f508c65
--- /dev/null
+++ b/kokoro/release/csharp/windows/common.cfg
@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/release/csharp/windows/build_nuget.bat"
+timeout_mins: 60
+
+action {
+ define_artifacts {
+ regex: "**/*.nupkg"
+ }
+}
diff --git a/kokoro/release/csharp/windows/continuous.cfg b/kokoro/release/csharp/windows/continuous.cfg
index f508c65..8523c22 100644
--- a/kokoro/release/csharp/windows/continuous.cfg
+++ b/kokoro/release/csharp/windows/continuous.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/release/csharp/windows/build_nuget.bat"
-timeout_mins: 60
-
-action {
- define_artifacts {
- regex: "**/*.nupkg"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/release/csharp/windows/presubmit.cfg b/kokoro/release/csharp/windows/presubmit.cfg
index f508c65..8523c22 100644
--- a/kokoro/release/csharp/windows/presubmit.cfg
+++ b/kokoro/release/csharp/windows/presubmit.cfg
@@ -1,11 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/release/csharp/windows/build_nuget.bat"
-timeout_mins: 60
-
-action {
- define_artifacts {
- regex: "**/*.nupkg"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/release/ruby/linux/common.cfg b/kokoro/release/ruby/linux/common.cfg
new file mode 100644
index 0000000..dbc71b2
--- /dev/null
+++ b/kokoro/release/ruby/linux/common.cfg
@@ -0,0 +1,8 @@
+# Configuration for Linux release builds
+build_file: "protobuf/kokoro/release/ruby/linux/build_artifacts.sh"
+
+action {
+ define_artifacts {
+ regex: "github/protobuf/artifacts/**"
+ }
+}
diff --git a/kokoro/release/ruby/linux/continuous.cfg b/kokoro/release/ruby/linux/continuous.cfg
index dbc71b2..8523c22 100644
--- a/kokoro/release/ruby/linux/continuous.cfg
+++ b/kokoro/release/ruby/linux/continuous.cfg
@@ -1,8 +1 @@
-# Configuration for Linux release builds
-build_file: "protobuf/kokoro/release/ruby/linux/build_artifacts.sh"
-
-action {
- define_artifacts {
- regex: "github/protobuf/artifacts/**"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/release/ruby/linux/presubmit.cfg b/kokoro/release/ruby/linux/presubmit.cfg
index dbc71b2..8523c22 100644
--- a/kokoro/release/ruby/linux/presubmit.cfg
+++ b/kokoro/release/ruby/linux/presubmit.cfg
@@ -1,8 +1 @@
-# Configuration for Linux release builds
-build_file: "protobuf/kokoro/release/ruby/linux/build_artifacts.sh"
-
-action {
- define_artifacts {
- regex: "github/protobuf/artifacts/**"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/release/ruby/macos/common.cfg b/kokoro/release/ruby/macos/common.cfg
new file mode 100644
index 0000000..cb1c08b
--- /dev/null
+++ b/kokoro/release/ruby/macos/common.cfg
@@ -0,0 +1,8 @@
+# Configuration for Mac OSX release builds
+build_file: "protobuf/kokoro/release/ruby/macos/build_artifacts.sh"
+
+action {
+ define_artifacts {
+ regex: "github/protobuf/artifacts/**"
+ }
+}
diff --git a/kokoro/release/ruby/macos/continuous.cfg b/kokoro/release/ruby/macos/continuous.cfg
index cb1c08b..8523c22 100644
--- a/kokoro/release/ruby/macos/continuous.cfg
+++ b/kokoro/release/ruby/macos/continuous.cfg
@@ -1,8 +1 @@
-# Configuration for Mac OSX release builds
-build_file: "protobuf/kokoro/release/ruby/macos/build_artifacts.sh"
-
-action {
- define_artifacts {
- regex: "github/protobuf/artifacts/**"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/release/ruby/macos/presubmit.cfg b/kokoro/release/ruby/macos/presubmit.cfg
index cb1c08b..8523c22 100644
--- a/kokoro/release/ruby/macos/presubmit.cfg
+++ b/kokoro/release/ruby/macos/presubmit.cfg
@@ -1,8 +1 @@
-# Configuration for Mac OSX release builds
-build_file: "protobuf/kokoro/release/ruby/macos/build_artifacts.sh"
-
-action {
- define_artifacts {
- regex: "github/protobuf/artifacts/**"
- }
-}
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/bazel/common.cfg b/kokoro/windows/bazel/common.cfg
new file mode 100644
index 0000000..5978a7a
--- /dev/null
+++ b/kokoro/windows/bazel/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/windows/bazel/build.bat"
+timeout_mins: 1440
diff --git a/kokoro/windows/bazel/continuous.cfg b/kokoro/windows/bazel/continuous.cfg
index 5978a7a..8523c22 100644
--- a/kokoro/windows/bazel/continuous.cfg
+++ b/kokoro/windows/bazel/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/bazel/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/bazel/presubmit.cfg b/kokoro/windows/bazel/presubmit.cfg
index 5978a7a..8523c22 100644
--- a/kokoro/windows/bazel/presubmit.cfg
+++ b/kokoro/windows/bazel/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/bazel/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake/common.cfg b/kokoro/windows/cmake/common.cfg
new file mode 100644
index 0000000..37e89e0
--- /dev/null
+++ b/kokoro/windows/cmake/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/windows/cmake/build.bat"
+timeout_mins: 1440
diff --git a/kokoro/windows/cmake/continuous.cfg b/kokoro/windows/cmake/continuous.cfg
index 37e89e0..8523c22 100644
--- a/kokoro/windows/cmake/continuous.cfg
+++ b/kokoro/windows/cmake/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake/presubmit.cfg b/kokoro/windows/cmake/presubmit.cfg
index 37e89e0..8523c22 100644
--- a/kokoro/windows/cmake/presubmit.cfg
+++ b/kokoro/windows/cmake/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake_install/common.cfg b/kokoro/windows/cmake_install/common.cfg
new file mode 100644
index 0000000..2efc0dc
--- /dev/null
+++ b/kokoro/windows/cmake_install/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/windows/cmake_install/build.bat"
+timeout_mins: 1440
diff --git a/kokoro/windows/cmake_install/continuous.cfg b/kokoro/windows/cmake_install/continuous.cfg
index 2efc0dc..8523c22 100644
--- a/kokoro/windows/cmake_install/continuous.cfg
+++ b/kokoro/windows/cmake_install/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake_install/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake_install/presubmit.cfg b/kokoro/windows/cmake_install/presubmit.cfg
index 2efc0dc..8523c22 100644
--- a/kokoro/windows/cmake_install/presubmit.cfg
+++ b/kokoro/windows/cmake_install/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake_install/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake_nmake/common.cfg b/kokoro/windows/cmake_nmake/common.cfg
new file mode 100644
index 0000000..3c279fe
--- /dev/null
+++ b/kokoro/windows/cmake_nmake/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/windows/cmake_nmake/build.bat"
+timeout_mins: 1440
diff --git a/kokoro/windows/cmake_nmake/continuous.cfg b/kokoro/windows/cmake_nmake/continuous.cfg
index 3c279fe..8523c22 100644
--- a/kokoro/windows/cmake_nmake/continuous.cfg
+++ b/kokoro/windows/cmake_nmake/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake_nmake/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake_nmake/presubmit.cfg b/kokoro/windows/cmake_nmake/presubmit.cfg
index 3c279fe..8523c22 100644
--- a/kokoro/windows/cmake_nmake/presubmit.cfg
+++ b/kokoro/windows/cmake_nmake/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake_nmake/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake_shared/common.cfg b/kokoro/windows/cmake_shared/common.cfg
new file mode 100644
index 0000000..0ba52e2
--- /dev/null
+++ b/kokoro/windows/cmake_shared/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/windows/cmake_shared/build.bat"
+timeout_mins: 1440
diff --git a/kokoro/windows/cmake_shared/continuous.cfg b/kokoro/windows/cmake_shared/continuous.cfg
index 0ba52e2..8523c22 100644
--- a/kokoro/windows/cmake_shared/continuous.cfg
+++ b/kokoro/windows/cmake_shared/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake_shared/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/cmake_shared/presubmit.cfg b/kokoro/windows/cmake_shared/presubmit.cfg
index 0ba52e2..8523c22 100644
--- a/kokoro/windows/cmake_shared/presubmit.cfg
+++ b/kokoro/windows/cmake_shared/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/cmake_shared/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/csharp/common.cfg b/kokoro/windows/csharp/common.cfg
new file mode 100644
index 0000000..f586585
--- /dev/null
+++ b/kokoro/windows/csharp/common.cfg
@@ -0,0 +1,5 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/windows/csharp/build.bat"
+timeout_mins: 1440
diff --git a/kokoro/windows/csharp/continuous.cfg b/kokoro/windows/csharp/continuous.cfg
index f586585..8523c22 100644
--- a/kokoro/windows/csharp/continuous.cfg
+++ b/kokoro/windows/csharp/continuous.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/csharp/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.
diff --git a/kokoro/windows/csharp/presubmit.cfg b/kokoro/windows/csharp/presubmit.cfg
index f586585..8523c22 100644
--- a/kokoro/windows/csharp/presubmit.cfg
+++ b/kokoro/windows/csharp/presubmit.cfg
@@ -1,5 +1 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/windows/csharp/build.bat"
-timeout_mins: 1440
+# Keep this file empty! Use common.cfg instead.