浏览代码

Merge pull request #16637 from jtattermusch/kokoro_extra_logs

Make "Target log" available for per-language test suites
Jan Tattermusch 7 年之前
父节点
当前提交
0b1061f0e6
共有 74 个文件被更改,包括 104 次插入82 次删除
  1. 1 1
      tools/internal_ci/helper_scripts/delete_nonartifacts.sh
  2. 1 1
      tools/internal_ci/linux/grpc_basictests_c_cpp_dbg.cfg
  3. 1 1
      tools/internal_ci/linux/grpc_basictests_c_cpp_opt.cfg
  4. 1 1
      tools/internal_ci/linux/grpc_basictests_multilang.cfg
  5. 1 1
      tools/internal_ci/linux/grpc_build_artifacts.cfg
  6. 1 1
      tools/internal_ci/linux/grpc_build_artifacts_extra.cfg
  7. 1 1
      tools/internal_ci/linux/grpc_build_artifacts_extra_release.cfg
  8. 1 1
      tools/internal_ci/linux/grpc_build_boringssl_at_head.cfg
  9. 1 1
      tools/internal_ci/linux/grpc_build_packages.cfg
  10. 1 1
      tools/internal_ci/linux/grpc_build_protobuf_at_head.cfg
  11. 1 1
      tools/internal_ci/linux/grpc_coverage.cfg
  12. 1 1
      tools/internal_ci/linux/grpc_distribtests.cfg
  13. 1 1
      tools/internal_ci/linux/grpc_distribtests_standalone.cfg
  14. 1 1
      tools/internal_ci/linux/grpc_full_performance_master.cfg
  15. 1 1
      tools/internal_ci/linux/grpc_full_performance_release.cfg
  16. 1 1
      tools/internal_ci/linux/grpc_interop_alts.cfg
  17. 1 1
      tools/internal_ci/linux/grpc_interop_matrix.cfg
  18. 1 1
      tools/internal_ci/linux/grpc_interop_tocloud.cfg
  19. 1 1
      tools/internal_ci/linux/grpc_interop_toprod.cfg
  20. 1 1
      tools/internal_ci/linux/grpc_portability.cfg
  21. 1 1
      tools/internal_ci/linux/grpc_portability_build_only.cfg
  22. 1 1
      tools/internal_ci/linux/grpc_publish_packages.cfg
  23. 1 1
      tools/internal_ci/linux/grpc_pull_request_sanity.cfg
  24. 1 1
      tools/internal_ci/linux/grpc_sanity.cfg
  25. 1 1
      tools/internal_ci/linux/pull_request/grpc_basictests_c_cpp_dbg.cfg
  26. 1 1
      tools/internal_ci/linux/pull_request/grpc_basictests_c_cpp_opt.cfg
  27. 1 1
      tools/internal_ci/linux/pull_request/grpc_basictests_c_dbg.cfg
  28. 1 1
      tools/internal_ci/linux/pull_request/grpc_basictests_c_opt.cfg
  29. 1 1
      tools/internal_ci/linux/pull_request/grpc_basictests_cpp_dbg.cfg
  30. 1 1
      tools/internal_ci/linux/pull_request/grpc_basictests_cpp_opt.cfg
  31. 1 1
      tools/internal_ci/linux/pull_request/grpc_basictests_multilang.cfg
  32. 1 1
      tools/internal_ci/linux/pull_request/grpc_interop_alts.cfg
  33. 1 1
      tools/internal_ci/linux/pull_request/grpc_interop_tocloud.cfg
  34. 1 1
      tools/internal_ci/linux/pull_request/grpc_interop_toprod.cfg
  35. 1 1
      tools/internal_ci/linux/pull_request/grpc_microbenchmark_diff.cfg
  36. 1 1
      tools/internal_ci/linux/pull_request/grpc_sanity.cfg
  37. 1 1
      tools/internal_ci/linux/pull_request/grpc_trickle_diff.cfg
  38. 1 1
      tools/internal_ci/linux/sanitizer/grpc_c_asan.cfg
  39. 1 1
      tools/internal_ci/linux/sanitizer/grpc_c_msan.cfg
  40. 1 1
      tools/internal_ci/linux/sanitizer/grpc_c_tsan.cfg
  41. 1 1
      tools/internal_ci/linux/sanitizer/grpc_c_ubsan.cfg
  42. 1 1
      tools/internal_ci/linux/sanitizer/grpc_cpp_asan.cfg
  43. 1 1
      tools/internal_ci/linux/sanitizer/grpc_cpp_tsan.cfg
  44. 1 1
      tools/internal_ci/linux/sanitizer/pull_request/grpc_c_asan.cfg
  45. 1 1
      tools/internal_ci/linux/sanitizer/pull_request/grpc_c_msan.cfg
  46. 1 1
      tools/internal_ci/linux/sanitizer/pull_request/grpc_c_tsan.cfg
  47. 1 1
      tools/internal_ci/linux/sanitizer/pull_request/grpc_c_ubsan.cfg
  48. 1 1
      tools/internal_ci/linux/sanitizer/pull_request/grpc_cpp_asan.cfg
  49. 1 1
      tools/internal_ci/linux/sanitizer/pull_request/grpc_cpp_tsan.cfg
  50. 1 1
      tools/internal_ci/macos/grpc_basictests_dbg.cfg
  51. 1 1
      tools/internal_ci/macos/grpc_basictests_opt.cfg
  52. 1 1
      tools/internal_ci/macos/grpc_build_artifacts.cfg
  53. 1 1
      tools/internal_ci/macos/grpc_distribtests.cfg
  54. 1 1
      tools/internal_ci/macos/grpc_interop.cfg
  55. 1 1
      tools/internal_ci/macos/grpc_interop_toprod.cfg
  56. 1 1
      tools/internal_ci/macos/pull_request/grpc_basictests_dbg.cfg
  57. 1 1
      tools/internal_ci/macos/pull_request/grpc_basictests_opt.cfg
  58. 1 1
      tools/internal_ci/macos/pull_request/grpc_interop.cfg
  59. 1 1
      tools/internal_ci/macos/pull_request/grpc_ios_binary_size.cfg
  60. 1 1
      tools/internal_ci/windows/grpc_basictests.cfg
  61. 1 1
      tools/internal_ci/windows/grpc_basictests_dbg.cfg
  62. 1 1
      tools/internal_ci/windows/grpc_basictests_opt.cfg
  63. 1 1
      tools/internal_ci/windows/grpc_build_artifacts.cfg
  64. 1 1
      tools/internal_ci/windows/grpc_build_packages.cfg
  65. 1 1
      tools/internal_ci/windows/grpc_distribtests.cfg
  66. 1 1
      tools/internal_ci/windows/grpc_distribtests_standalone.cfg
  67. 1 1
      tools/internal_ci/windows/grpc_portability.cfg
  68. 1 1
      tools/internal_ci/windows/grpc_portability_build_only.cfg
  69. 1 1
      tools/internal_ci/windows/pull_request/grpc_basictests.cfg
  70. 1 1
      tools/internal_ci/windows/pull_request/grpc_basictests_dbg.cfg
  71. 1 1
      tools/internal_ci/windows/pull_request/grpc_basictests_opt.cfg
  72. 1 1
      tools/internal_ci/windows/pull_request/grpc_portability.cfg
  73. 19 4
      tools/run_tests/python_utils/jobset.py
  74. 13 6
      tools/run_tests/run_tests_matrix.py

+ 1 - 1
tools/internal_ci/helper_scripts/delete_nonartifacts.sh

@@ -24,4 +24,4 @@ cd "$(dirname "$0")/../../.."
 # after finishing each build. We only leave files we want to keep:
 # - reports and artifacts
 # - directory containing the kokoro scripts to prevent deleting a script while being executed.
-time find . -type f -not -iname "*sponge_log.xml" -not -path "./reports/*" -not -path "./artifacts/*" -not -path "./tools/internal_ci/*" -exec rm -f {} +
+time find . -type f -not -iname "*sponge_log.*" -not -path "./reports/*" -not -path "./artifacts/*" -not -path "./tools/internal_ci/*" -exec rm -f {} +

+ 1 - 1
tools/internal_ci/linux/grpc_basictests_c_cpp_dbg.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_basictests_c_cpp_opt.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_basictests_multilang.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_build_artifacts.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_build_artifacts.sh"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/linux/grpc_build_artifacts_extra.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_build_artifacts_extra.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/linux/grpc_build_artifacts_extra_release.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_build_artifacts_extra.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/linux/grpc_build_boringssl_at_head.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_build_submodule_at_head.sh"
 timeout_mins: 180
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_build_packages.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_build_packages.sh"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/linux/grpc_build_protobuf_at_head.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_build_submodule_at_head.sh"
 timeout_mins: 180
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_coverage.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_coverage.sh"
 timeout_mins: 420
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_distribtests.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_distribtests.sh"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/linux/grpc_distribtests_standalone.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_distribtests_standalone.sh"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/linux/grpc_full_performance_master.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_full_performance_master.sh"
 timeout_mins: 600
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "**/perf_reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_full_performance_release.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_full_performance_release.sh"
 timeout_mins: 600
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "**/perf_reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_interop_alts.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_interop_tests.sh"
 timeout_mins: 60
 action {
   define_artifacts {
-    regex: "**/sponge_log.xml"
+    regex: "**/sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_interop_matrix.cfg

@@ -20,7 +20,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_interop_matrix.sh"
 timeout_mins: 300
 action {
   define_artifacts {
-    regex: "**/sponge_log.xml"
+    regex: "**/sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_interop_tocloud.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_interop_tests.sh"
 timeout_mins: 60
 action {
   define_artifacts {
-    regex: "**/sponge_log.xml"
+    regex: "**/sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_interop_toprod.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_interop_tests.sh"
 timeout_mins: 60
 action {
   define_artifacts {
-    regex: "**/sponge_log.xml"
+    regex: "**/sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_portability.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_portability_build_only.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 180
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_publish_packages.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_publish_packages.sh"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/linux/grpc_pull_request_sanity.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 30
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/grpc_sanity.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 40
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_basictests_c_cpp_dbg.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_basictests_c_cpp_opt.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_basictests_c_dbg.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_basictests_c_opt.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_basictests_cpp_dbg.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_basictests_cpp_opt.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_basictests_multilang.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_interop_alts.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_interop_tests.sh"
 timeout_mins: 60
 action {
   define_artifacts {
-    regex: "**/sponge_log.xml"
+    regex: "**/sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_interop_tocloud.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_interop_tests.sh"
 timeout_mins: 60
 action {
   define_artifacts {
-    regex: "**/sponge_log.xml"
+    regex: "**/sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_interop_toprod.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_interop_tests.sh"
 timeout_mins: 60
 action {
   define_artifacts {
-    regex: "**/sponge_log.xml"
+    regex: "**/sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_microbenchmark_diff.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_microbenchmark_diff.sh"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_sanity.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 40
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/pull_request/grpc_trickle_diff.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_trickle_diff.sh"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/grpc_c_asan.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/grpc_c_msan.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/grpc_c_tsan.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/grpc_c_ubsan.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/grpc_cpp_asan.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/grpc_cpp_tsan.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/pull_request/grpc_c_asan.cfg

@@ -20,7 +20,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/pull_request/grpc_c_msan.cfg

@@ -20,7 +20,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/pull_request/grpc_c_tsan.cfg

@@ -20,7 +20,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/pull_request/grpc_c_ubsan.cfg

@@ -20,7 +20,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/pull_request/grpc_cpp_asan.cfg

@@ -20,7 +20,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/linux/sanitizer/pull_request/grpc_cpp_tsan.cfg

@@ -20,7 +20,7 @@ build_file: "grpc/tools/internal_ci/linux/grpc_run_tests_matrix.sh"
 timeout_mins: 1440
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/grpc_basictests_dbg.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/grpc_basictests_opt.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/grpc_build_artifacts.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/macos/grpc_distribtests.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/macos/grpc_interop.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/grpc_interop_toprod.cfg

@@ -21,7 +21,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/interop/service_account/GrpcTes
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/pull_request/grpc_basictests_dbg.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/pull_request/grpc_basictests_opt.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/pull_request/grpc_interop.cfg

@@ -20,7 +20,7 @@ gfile_resources: "/bigstore/grpc-testing-secrets/gcp_credentials/GrpcTesting-d0e
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/macos/pull_request/grpc_ios_binary_size.cfg

@@ -20,7 +20,7 @@ timeout_mins: 60
 gfile_resources: "/bigstore/grpc-testing-secrets/github_credentials/oauth_token.txt"
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/grpc_basictests.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/grpc_basictests_dbg.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/grpc_basictests_opt.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/grpc_build_artifacts.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_build_artifacts.bat"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/windows/grpc_build_packages.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_build_packages.bat"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/windows/grpc_distribtests.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_distribtests.bat"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/windows/grpc_distribtests_standalone.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_distribtests_standalone.bat"
 timeout_mins: 120
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
     regex: "github/grpc/artifacts/**"
   }

+ 1 - 1
tools/internal_ci/windows/grpc_portability.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/grpc_portability_build_only.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/pull_request/grpc_basictests.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/pull_request/grpc_basictests_dbg.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/pull_request/grpc_basictests_opt.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 1 - 1
tools/internal_ci/windows/pull_request/grpc_portability.cfg

@@ -19,7 +19,7 @@ build_file: "grpc/tools/internal_ci/windows/grpc_run_tests_matrix.bat"
 timeout_mins: 240
 action {
   define_artifacts {
-    regex: "**/*sponge_log.xml"
+    regex: "**/*sponge_log.*"
     regex: "github/grpc/reports/**"
   }
 }

+ 19 - 4
tools/run_tests/python_utils/jobset.py

@@ -176,13 +176,15 @@ class JobSpec(object):
                  timeout_retries=0,
                  kill_handler=None,
                  cpu_cost=1.0,
-                 verbose_success=False):
+                 verbose_success=False,
+                 logfilename=None):
         """
     Arguments:
       cmdline: a list of arguments to pass as the command line
       environ: a dictionary of environment variables to set in the child process
       kill_handler: a handler that will be called whenever job.kill() is invoked
       cpu_cost: number of cores per second this job needs
+      logfilename: use given file to store job's output, rather than using a temporary file
     """
         if environ is None:
             environ = {}
@@ -197,6 +199,11 @@ class JobSpec(object):
         self.kill_handler = kill_handler
         self.cpu_cost = cpu_cost
         self.verbose_success = verbose_success
+        self.logfilename = logfilename
+        if self.logfilename and self.flake_retries != 0 and self.timeout_retries != 0:
+            # Forbidden to avoid overwriting the test log when retrying.
+            raise Exception(
+                'Cannot use custom logfile when retries are enabled')
 
     def identity(self):
         return '%r %r' % (self.cmdline, self.environ)
@@ -261,7 +268,15 @@ class Job(object):
         return self._spec
 
     def start(self):
-        self._tempfile = tempfile.TemporaryFile()
+        if self._spec.logfilename:
+            # make sure the log directory exists
+            logfile_dir = os.path.dirname(
+                os.path.abspath(self._spec.logfilename))
+            if not os.path.exists(logfile_dir):
+                os.makedirs(logfile_dir)
+            self._logfile = open(self._spec.logfilename, 'w+')
+        else:
+            self._logfile = tempfile.TemporaryFile()
         env = dict(os.environ)
         env.update(self._spec.environ)
         env.update(self._add_env)
@@ -277,7 +292,7 @@ class Job(object):
             measure_cpu_costs = False
         try_start = lambda: subprocess.Popen(args=cmdline,
                                              stderr=subprocess.STDOUT,
-                                             stdout=self._tempfile,
+                                             stdout=self._logfile,
                                              cwd=self._spec.cwd,
                                              shell=self._spec.shell,
                                              env=env)
@@ -300,7 +315,7 @@ class Job(object):
         """Poll current state of the job. Prints messages at completion."""
 
         def stdout(self=self):
-            stdout = read_from_start(self._tempfile)
+            stdout = read_from_start(self._logfile)
             self.result.message = stdout[-_MAX_RESULT_SIZE:]
             return stdout
 

+ 13 - 6
tools/run_tests/run_tests_matrix.py

@@ -43,9 +43,6 @@ _OBJC_RUNTESTS_TIMEOUT = 90 * 60
 # Number of jobs assigned to each run_tests.py instance
 _DEFAULT_INNER_JOBS = 2
 
-# report suffix is important for reports to get picked up by internal CI
-_REPORT_SUFFIX = 'sponge_log.xml'
-
 
 def _safe_report_name(name):
     """Reports with '+' in target name won't show correctly in ResultStore"""
@@ -54,7 +51,15 @@ def _safe_report_name(name):
 
 def _report_filename(name):
     """Generates report file name with directory structure that leads to better presentation by internal CI"""
-    return '%s/%s' % (_safe_report_name(name), _REPORT_SUFFIX)
+    # 'sponge_log.xml' suffix must be there for results to get recognized by kokoro.
+    return '%s/%s' % (_safe_report_name(name), 'sponge_log.xml')
+
+
+def _report_logfilename(name):
+    """Generates log file name that corresponds to name generated by _report_filename"""
+    # 'sponge_log.log' suffix must be there for log to get recognized as "target log"
+    # for the corresponding 'sponge_log.xml' report.
+    return '%s/%s' % (_safe_report_name(name), 'sponge_log.log')
 
 
 def _docker_jobspec(name,
@@ -75,7 +80,8 @@ def _docker_jobspec(name,
         ] + runtests_args,
         environ=runtests_envs,
         shortname='run_tests_%s' % name,
-        timeout_seconds=timeout_seconds)
+        timeout_seconds=timeout_seconds,
+        logfilename=_report_logfilename(name))
     return test_job
 
 
@@ -102,7 +108,8 @@ def _workspace_jobspec(name,
         ] + runtests_args,
         environ=env,
         shortname='run_tests_%s' % name,
-        timeout_seconds=timeout_seconds)
+        timeout_seconds=timeout_seconds,
+        logfilename=_report_logfilename(name))
     return test_job