Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup kokoro scripts. #5027

Merged
merged 1 commit into from
Aug 9, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 2 additions & 11 deletions kokoro/linux/build_and_run_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
# OUTPUT_DIR - Directory that will be copied from inside docker after finishing.
# $@ - Extra args to pass to docker run


set -ex

cd $(dirname $0)/../..
Expand Down Expand Up @@ -39,24 +38,16 @@ docker run \
-e KOKORO_BUILD_ID=$KOKORO_BUILD_ID \
-e EXTERNAL_GIT_ROOT="/var/local/kokoro/protobuf" \
-e TEST_SET="$TEST_SET" \
-e THIS_IS_REALLY_NEEDED='see https://github.com/docker/docker/issues/14203 for why docker is awful' \
-v "$git_root:/var/local/kokoro/protobuf:ro" \
-v $CCACHE_DIR:$CCACHE_DIR \
-w /var/local/git/protobuf \
--name=$CONTAINER_NAME \
$DOCKER_IMAGE_NAME \
bash -l "/var/local/kokoro/protobuf/$DOCKER_RUN_SCRIPT" || FAILED="true"

# Copy output artifacts
if [ "$OUTPUT_DIR" != "" ]
then
docker cp "$CONTAINER_NAME:/var/local/git/protobuf/$OUTPUT_DIR" "${git_root}/kokoro" || FAILED="true"
fi

# remove the container, possibly killing it first
docker rm -f $CONTAINER_NAME || true

if [ "$FAILED" != "" ]
then
[ -z "$FAILED" ] || {
exit 1
fi
}
50 changes: 1 addition & 49 deletions kokoro/linux/pull_request_in_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,52 +22,4 @@ cd protobuf
# Initialize any submodules:
git submodule update --init --recursive

# Set up the directory where our test output is going to go.
OUTPUT_DIR=`mktemp -d`
LOG_OUTPUT_DIR=$OUTPUT_DIR/logs
mkdir -p $LOG_OUTPUT_DIR/1/cpp

################################################################################
# cpp build needs to run first, non-parallelized, so that protoc is available
# for other builds.

# Output filenames to follow the overall scheme used by parallel, ie:
# $DIR/logs/1/cpp/stdout
# $DIR/logs/1/cpp/stderr
# $DIR/logs/1/csharp/stdout
# $DIR/logs/1/csharp/stderr
# $DIR/logs/1/java_jdk7/stdout
# $DIR/logs/1/java_jdk7/stderr
CPP_STDOUT=$LOG_OUTPUT_DIR/1/cpp/stdout
CPP_STDERR=$LOG_OUTPUT_DIR/1/cpp/stderr

# Time the C++ build, so we can put this info in the test output.
# It's important that we get /usr/bin/time (which supports -f and -o) and not
# the bash builtin "time" which doesn't.
TIME_CMD="/usr/bin/time -f %e -o $LOG_OUTPUT_DIR/1/cpp/build_time"

$TIME_CMD $TEST_SCRIPT cpp > >(tee $CPP_STDOUT) 2> >(tee $CPP_STDERR >&2)

# Other tests are run in parallel. TEST_SET is defined in
# buildcmds/pull_request{_32}.sh

parallel --results $LOG_OUTPUT_DIR --joblog $OUTPUT_DIR/joblog $TEST_SCRIPT ::: \
$TEST_SET \
|| FAILED="true" # Process test results even if tests fail.

cat $OUTPUT_DIR/joblog

# The directory that is copied from Docker back into the Kokoro workspace.
COPY_FROM_DOCKER=/var/local/git/protobuf/testoutput
mkdir -p $COPY_FROM_DOCKER
TESTOUTPUT_XML_FILE=$COPY_FROM_DOCKER/sponge_log.xml

# Process all the output files from "parallel" and package them into a single
# .xml file with detailed, broken-down test output.
python $MY_DIR/make_test_output.py $OUTPUT_DIR > $TESTOUTPUT_XML_FILE

ls -l $TESTOUTPUT_XML_FILE

if [ "$FAILED" == "true" ]; then
exit 1
fi
$TEST_SCRIPT $TEST_SET
6 changes: 3 additions & 3 deletions tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ internal_build_cpp() {
./autogen.sh
./configure CXXFLAGS="-fPIC" # -fPIC is needed for python cpp test.
# See python/setup.py for more details
make -j2
make -j4
}

build_cpp() {
internal_build_cpp
make check -j2 || (cat src/test-suite.log; false)
make check -j4 || (cat src/test-suite.log; false)
cd conformance && make test_cpp && cd ..

# The benchmark code depends on cmake, so test if it is installed before
Expand Down Expand Up @@ -68,7 +68,7 @@ build_cpp_distcheck() {
fi

# Do the regular dist-check for C++.
make distcheck -j2
make distcheck -j4
}

build_csharp() {
Expand Down