X-Git-Url: https://git.arvados.org/arvados-dev.git/blobdiff_plain/60d3fdf6dedff3cb9eca478caacfeee19a752812..555b039609a3c8700c27767c255fdfe00eb42063:/jenkins/run-build-packages-one-target.sh diff --git a/jenkins/run-build-packages-one-target.sh b/jenkins/run-build-packages-one-target.sh index 2399342..c5e0a89 100755 --- a/jenkins/run-build-packages-one-target.sh +++ b/jenkins/run-build-packages-one-target.sh @@ -21,6 +21,8 @@ WORKSPACE=path Path to the Arvados source tree to build packages from EOF +set -e + if ! [[ -n "$WORKSPACE" ]]; then echo >&2 "$helpmessage" echo >&2 @@ -94,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" @@ -108,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 @@ -117,7 +120,7 @@ time docker build --tag=$IMAGE . popd if test -z "$packages" ; then -packages="arvados-api-server + packages="arvados-api-server arvados-data-manager arvados-docker-cleaner arvados-git-httpd @@ -129,37 +132,72 @@ packages="arvados-api-server keep-rsync keepstore keep-web - libarvados-perl - python27-python-arvados-fuse - python27-python-arvados-python-client" + libarvados-perl" + + case "$TARGET" in + centos6) + packages="$packages python27-python-arvados-fuse + python27-python-arvados-python-client" + ;; + *) + packages="$packages python-arvados-fuse + python-arvados-python-client" + ;; + esac fi FINAL_EXITCODE=0 package_fails="" +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 - if ! docker run --rm -v "$JENKINS_DIR:/jenkins" -v "$WORKSPACE:/arvados" \ - --env ARVADOS_DEBUG=1 "$IMAGE" $COMMAND $p ; 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