diff --git a/buildscripts/kokoro/kokoro.sh b/buildscripts/kokoro/kokoro.sh new file mode 100755 index 0000000000..0b3864b509 --- /dev/null +++ b/buildscripts/kokoro/kokoro.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +spongify_logs() { + local f + while read -r f; do + mkdir "${f%.xml}" + cp "$f" "${f%.xml}/sponge_log.xml" + done < <(find "${KOKORO_ARTIFACTS_DIR:-.}" -name 'TEST-*.xml') +} diff --git a/buildscripts/kokoro/linux_aarch64.cfg b/buildscripts/kokoro/linux_aarch64.cfg index f91fbe4d70..325d910c5e 100644 --- a/buildscripts/kokoro/linux_aarch64.cfg +++ b/buildscripts/kokoro/linux_aarch64.cfg @@ -6,7 +6,8 @@ timeout_mins: 60 action { define_artifacts { + regex: "github/grpc-java/**/build/test-results/**/sponge_log.xml" regex: "github/grpc-java/mvn-artifacts/**" regex: "github/grpc-java/artifacts/**" } -} \ No newline at end of file +} diff --git a/buildscripts/kokoro/linux_aarch64.sh b/buildscripts/kokoro/linux_aarch64.sh index 11c3f8ae3a..f4a1292efb 100755 --- a/buildscripts/kokoro/linux_aarch64.sh +++ b/buildscripts/kokoro/linux_aarch64.sh @@ -5,6 +5,11 @@ if [[ -f /VERSION ]]; then cat /VERSION fi +readonly GRPC_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)" + +. "$GRPC_JAVA_DIR"/buildscripts/kokoro/kokoro.sh +trap spongify_logs EXIT + cd github/grpc-java buildscripts/qemu_helpers/prepare_qemu.sh diff --git a/buildscripts/kokoro/linux_artifacts.cfg b/buildscripts/kokoro/linux_artifacts.cfg index 0938e4bff2..8691b5ff35 100644 --- a/buildscripts/kokoro/linux_artifacts.cfg +++ b/buildscripts/kokoro/linux_artifacts.cfg @@ -6,6 +6,7 @@ timeout_mins: 60 action { define_artifacts { + regex: "github/grpc-java/**/build/test-results/**/sponge_log.xml" regex: "github/grpc-java/mvn-artifacts/**" regex: "github/grpc-java/artifacts/**" } diff --git a/buildscripts/kokoro/linux_artifacts.sh b/buildscripts/kokoro/linux_artifacts.sh index b4551843c6..e23b2bcc62 100755 --- a/buildscripts/kokoro/linux_artifacts.sh +++ b/buildscripts/kokoro/linux_artifacts.sh @@ -7,6 +7,9 @@ fi readonly GRPC_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)" +. "$GRPC_JAVA_DIR"/buildscripts/kokoro/kokoro.sh +trap spongify_logs EXIT + "$GRPC_JAVA_DIR"/buildscripts/build_docker.sh "$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh /grpc-java/buildscripts/build_artifacts_in_docker.sh diff --git a/buildscripts/kokoro/macos.cfg b/buildscripts/kokoro/macos.cfg index a6bf290d1e..f79634e3cf 100644 --- a/buildscripts/kokoro/macos.cfg +++ b/buildscripts/kokoro/macos.cfg @@ -1,7 +1,7 @@ # Config file for internal CI # Location of the continuous shell script in repository. -build_file: "grpc-java/buildscripts/kokoro/unix.sh" +build_file: "grpc-java/buildscripts/kokoro/macos.sh" timeout_mins: 45 # We had problems with random tests timing out because it took seconds to do @@ -15,7 +15,7 @@ env_vars { # We always build mvn artifacts. action { define_artifacts { - regex: "github/grpc-java/**/build/reports/**" + regex: "github/grpc-java/**/build/test-results/**/sponge_log.xml" regex: "github/grpc-java/mvn-artifacts/**" } } diff --git a/buildscripts/kokoro/macos.sh b/buildscripts/kokoro/macos.sh new file mode 100755 index 0000000000..df52a004f5 --- /dev/null +++ b/buildscripts/kokoro/macos.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -veux -o pipefail + +if [[ -f /VERSION ]]; then + cat /VERSION +fi + +readonly GRPC_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)" + +. "$GRPC_JAVA_DIR"/buildscripts/kokoro/kokoro.sh +trap spongify_logs EXIT + +"$GRPC_JAVA_DIR"/buildscripts/kokoro/unix.sh diff --git a/buildscripts/kokoro/unix.sh b/buildscripts/kokoro/unix.sh index 61d65324a0..91ee67f1d9 100755 --- a/buildscripts/kokoro/unix.sh +++ b/buildscripts/kokoro/unix.sh @@ -16,10 +16,6 @@ set -exu -o pipefail # It would be nicer to use 'readlink -f' here but osx does not support it. readonly GRPC_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)" -if [[ -f /VERSION ]]; then - cat /VERSION -fi - # cd to the root dir of grpc-java cd $(dirname $0)/../.. @@ -48,7 +44,7 @@ export LD_LIBRARY_PATH=/tmp/protobuf/lib export LDFLAGS=-L/tmp/protobuf/lib export CXXFLAGS="-I/tmp/protobuf/include" -./gradlew clean $GRADLE_FLAGS +./gradlew grpc-compiler:clean $GRADLE_FLAGS if [[ -z "${SKIP_TESTS:-}" ]]; then # Ensure all *.proto changes include *.java generated code @@ -62,7 +58,6 @@ if [[ -z "${SKIP_TESTS:-}" ]]; then # Run tests ./gradlew build :grpc-all:jacocoTestReport $GRADLE_FLAGS pushd examples - ./gradlew clean $GRADLE_FLAGS ./gradlew build $GRADLE_FLAGS # --batch-mode reduces log spam mvn verify --batch-mode diff --git a/buildscripts/kokoro/windows.cfg b/buildscripts/kokoro/windows.cfg index 6b2703f99c..bdfaa38904 100644 --- a/buildscripts/kokoro/windows.cfg +++ b/buildscripts/kokoro/windows.cfg @@ -7,7 +7,7 @@ timeout_mins: 45 # We always build mvn artifacts. action { define_artifacts { - regex: "**/build/test-results/**/*.xml" + regex: "github/grpc-java/**/build/test-results/**/sponge_log.xml" regex: "github/grpc-java/mvn-artifacts/**" } } diff --git a/buildscripts/kokoro/windows64.bat b/buildscripts/kokoro/windows64.bat index edcb421fe7..eaa1fcf845 100644 --- a/buildscripts/kokoro/windows64.bat +++ b/buildscripts/kokoro/windows64.bat @@ -32,4 +32,4 @@ SET GRADLE_FLAGS=-PtargetArch=%TARGET_ARCH% -PfailOnWarnings=%FAIL_ON_WARNINGS% @rem make sure no daemons have any files open cmd.exe /C "%WORKSPACE%\gradlew.bat --stop" -cmd.exe /C "%WORKSPACE%\gradlew.bat %GRADLE_FLAGS% -Dorg.gradle.parallel=false -PrepositoryDir=%WORKSPACE%\artifacts clean grpc-compiler:build grpc-compiler:publish" || exit /b 1 +cmd.exe /C "%WORKSPACE%\gradlew.bat %GRADLE_FLAGS% -Dorg.gradle.parallel=false -PrepositoryDir=%WORKSPACE%\artifacts grpc-compiler:clean grpc-compiler:build grpc-compiler:publish" || exit /b 1