Merge branch '8345-llfuse-unpin' refs #8345
[arvados-dev.git] / jenkins / run-build-packages-one-target.sh
index 0233de15e94aa48402edec1dc458972cfe819d49..c5e0a89e3827dd266974045d0ebe16718db7f344 100755 (executable)
@@ -96,7 +96,7 @@ if [[ -n "$test_packages" ]]; then
         )
     fi
 
-    COMMAND="/jenkins/test-packages-$TARGET.sh"
+    COMMAND="/jenkins/package-testing/test-packages-$TARGET.sh"
     IMAGE="arvados/package-test:$TARGET"
 else
     IMAGE="arvados/build:$TARGET"
@@ -110,7 +110,8 @@ JENKINS_DIR=$(dirname "$(readlink -e "$0")")
 if [[ -n "$test_packages" ]]; then
     pushd "$JENKINS_DIR/package-test-dockerfiles"
 else
-    pushd "$JENKINS_DIR/dockerfiles"
+    pushd "$JENKINS_DIR/package-build-dockerfiles"
+    make "$TARGET/generated"
 fi
 
 echo $TARGET
@@ -137,7 +138,7 @@ if test -z "$packages" ; then
         centos6)
             packages="$packages python27-python-arvados-fuse
                   python27-python-arvados-python-client"
-        ;;
+            ;;
         *)
             packages="$packages python-arvados-fuse
                   python-arvados-python-client"
@@ -148,35 +149,55 @@ fi
 FINAL_EXITCODE=0
 
 package_fails=""
-set -x
+
+mkdir -p "$WORKSPACE/apps/workbench/vendor/cache-$TARGET"
+mkdir -p "$WORKSPACE/services/api/vendor/cache-$TARGET"
+
+docker_volume_args=(
+    -v "$JENKINS_DIR:/jenkins"
+    -v "$WORKSPACE:/arvados"
+    -v /arvados/services/api/vendor/bundle
+    -v /arvados/apps/workbench/vendor/bundle
+    -v "$WORKSPACE/services/api/vendor/cache-$TARGET:/arvados/services/api/vendor/cache"
+    -v "$WORKSPACE/apps/workbench/vendor/cache-$TARGET:/arvados/apps/workbench/vendor/cache"
+)
 
 if [[ -n "$test_packages" ]]; then
     for p in $packages ; do
-        set +e
-        docker run --rm -v "$JENKINS_DIR:/jenkins" -v "$WORKSPACE:/arvados" \
-               --env ARVADOS_DEBUG=1 \
-               --env "TARGET=$TARGET" \
-               --env "WORKSPACE=/arvados" \
-               "$IMAGE" $COMMAND $p
-        if test $? != 0 ; then
+        echo
+        echo "START: $p test on $IMAGE" >&2
+        if docker run --rm \
+            "${docker_volume_args[@]}" \
+            --env ARVADOS_DEBUG=1 \
+            --env "TARGET=$TARGET" \
+            --env "WORKSPACE=/arvados" \
+            "$IMAGE" $COMMAND $p
+        then
+            echo "OK: $p test on $IMAGE succeeded" >&2
+        else
             FINAL_EXITCODE=$?
             package_fails="$package_fails $p"
-            echo "ERROR: $tag build failed with exit status $FINAL_EXITCODE." >&2
+            echo "ERROR: $p test on $IMAGE failed with exit status $FINAL_EXITCODE" >&2
         fi
     done
 else
-    if docker run --rm -v "$JENKINS_DIR:/jenkins" -v "$WORKSPACE:/arvados" \
-              --env ARVADOS_DEBUG=1 "$IMAGE" $COMMAND; then
-        # Success - nothing more to do.
-        true
+    echo
+    echo "START: build packages on $IMAGE" >&2
+    if docker run --rm \
+        "${docker_volume_args[@]}" \
+        --env ARVADOS_DEBUG=1 \
+        "$IMAGE" $COMMAND
+    then
+        echo
+        echo "OK: build packages on $IMAGE succeeded" >&2
     else
         FINAL_EXITCODE=$?
-        echo "ERROR: $tag build failed with exit status $FINAL_EXITCODE." >&2
+        echo "ERROR: build packages on $IMAGE failed with exit status $FINAL_EXITCODE" >&2
     fi
 fi
 
 if test -n "$package_fails" ; then
-    echo "Failed package tests:$package_fails"
+    echo "Failed package tests:$package_fails" >&2
 fi
 
 exit $FINAL_EXITCODE