diff --git a/tools/jenkins/build_and_run_docker.sh b/tools/jenkins/build_and_run_docker.sh index e77ffd612c..448b00c0b6 100755 --- a/tools/jenkins/build_and_run_docker.sh +++ b/tools/jenkins/build_and_run_docker.sh @@ -52,12 +52,18 @@ docker build -t $DOCKER_IMAGE_NAME $DOCKERFILE_DIR # Choose random name for docker container CONTAINER_NAME="build_and_run_docker_$(uuidgen)" +# Ensure existence of ccache directory +CCACHE_DIR=/tmp/protobuf-ccache +mkdir -p $CCACHE_DIR + # Run command inside docker docker run \ "$@" \ + -e CCACHE_DIR=$CCACHE_DIR \ -e EXTERNAL_GIT_ROOT="/var/local/jenkins/protobuf" \ -e THIS_IS_REALLY_NEEDED='see https://github.com/docker/docker/issues/14203 for why docker is awful' \ -v "$git_root:/var/local/jenkins/protobuf:ro" \ + -v $CCACHE_DIR:$CCACHE_DIR \ -w /var/local/git/protobuf \ --name=$CONTAINER_NAME \ $DOCKER_IMAGE_NAME \ diff --git a/tools/run_tests/tests.sh b/tools/run_tests/tests.sh index 7ada81f84e..353ce62df6 100755 --- a/tools/run_tests/tests.sh +++ b/tools/run_tests/tests.sh @@ -103,7 +103,7 @@ use_java() { } # --batch-mode supresses download progress output that spams the logs. -MVN=mvn --batch-mode +MVN="mvn --batch-mode" build_java() { # Java build needs `protoc`. @@ -125,7 +125,7 @@ build_java_with_conformance_tests() { build_javanano() { # Java build needs `protoc`. internal_build_cpp - cd javanano && mvn test && cd .. + cd javanano && $MVN test && cd .. } build_java_jdk6() {