Sets up local repositories for both centos (yum) and debian (apt), installs
authorPeter Amstutz <peter.amstutz@curoverse.com>
Sat, 29 Aug 2015 19:15:55 +0000 (15:15 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Sat, 29 Aug 2015 19:15:55 +0000 (15:15 -0400)
from there as if an end user would.

jenkins/common-test-packages.sh [new file with mode: 0755]
jenkins/deb-common-test-packages.sh [moved from jenkins/test-packages-deb-common.sh with 57% similarity]
jenkins/run-test-packages.sh
jenkins/test-packages-centos6.sh
jenkins/test-packages-debian7.sh
jenkins/test-packages-debian8.sh
jenkins/test-packages-ubuntu1204.sh
jenkins/test-packages-ubuntu1404.sh

diff --git a/jenkins/common-test-packages.sh b/jenkins/common-test-packages.sh
new file mode 100755 (executable)
index 0000000..869f054
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+FAIL=0
+
+for so in $(find . -name "*.so") ; do
+    if ldd $so | grep "not found" ; then
+        echo "^^^ Missing while scanning $so ^^^"
+        FAIL=1
+    fi
+done
+
+if ! python <<EOF
+import arvados
+import arvados_fuse
+print "Successly imported arvados and arvados_fuse"
+EOF
+then
+    FAIL=1
+fi
+
+exit $FAIL
similarity index 57%
rename from jenkins/test-packages-deb-common.sh
rename to jenkins/deb-common-test-packages.sh
index d2c586c0c8c4f2f2e8b3cf058161d576c2b5a24b..fbebe24acb465670fece6ffd7f4f4af07017093e 100755 (executable)
@@ -8,13 +8,16 @@ if test "$1" = --run-test ; then
     fi
 
     self=$(readlink -f $0)
-    cd $WORKSPACE/packages/debian7
+    base=$(dirname $self)
+
+    cd $WORKSPACE/packages/$2
     dpkg-scanpackages . /dev/null | gzip -c9 > Packages.gz
 
     exec docker run \
          --rm \
          --volume=$WORKSPACE/packages/$2:/mnt \
          --volume=$self:/root/run-test.sh \
+         --volume=$base/common-test-packages.sh:/root/common-test.sh \
          --workdir=/mnt \
          $3 \
          /root/run-test.sh
@@ -22,9 +25,15 @@ fi
 
 echo "deb file:///mnt /" >>/etc/apt/sources.list
 apt-get update
-apt-get --assume-yes --force-yes install python-arvados-python-client python-arvados-fuse
+if ! apt-get --assume-yes --force-yes install python-arvados-python-client python-arvados-fuse ; then
+    exit 1
+fi
+
+mkdir -p /tmp/opts
+cd /tmp/opts
+
+for r in /mnt/python-*amd64.deb ; do
+    dpkg-deb -x $r .
+done
 
-python <<EOF
-import arvados
-import arvados_fuse
-EOF
+exec /root/common-test.sh
index c4f5bec116315925425f18e21f673f4530bb12e2..dce73623aad3ecae9971853185f8dc6c6b94734b 100755 (executable)
@@ -5,6 +5,13 @@ if test -z "$WORKSPACE" ; then
     exit 1
 fi
 
-for pkg in test-packages-*.sh ; do
-    $pkg --run-test
+FAIL=0
+
+for pkg in ./test-packages-*.sh ; do
+    if ! $pkg --run-test ; then
+        FAIL=1
+        echo "$pkg has install errors"
+    fi
 done
+
+exit $FAIL
index 6dd87e90af0d49b929f5cec660b05510df68f97f..ea3ed097135ad7e7ec12d9712510afc21ee821fd 100755 (executable)
@@ -7,10 +7,16 @@ if test "$1" = --run-test ; then
         exit 1
     fi
 
+    self=$(readlink -f $0)
+    base=$(dirname $self)
+
+    createrepo $WORKSPACE/packages/centos6
+
     exec docker run \
          --rm \
          --volume=$WORKSPACE/packages/centos6:/mnt \
          --volume=$(readlink -f $0):/root/run-test.sh \
+         --volume=$base/common-test-packages.sh:/root/common-test.sh \
          --workdir=/mnt \
          centos:6 \
          /root/run-test.sh --install-scl
@@ -24,7 +30,19 @@ if test "$1" = --install-scl ; then
     exec scl enable python27 $0
 fi
 
-yum install --assumeyes python27-python*.rpm
+cat >/etc/yum.repos.d/localrepo.repo <<EOF
+[localrepo]
+name=Arvados Test
+baseurl=file:///mnt
+gpgcheck=0
+enabled=1
+EOF
+
+yum clean all
+yum update
+if ! yum install --assumeyes python27-python-arvados-python-client python27-python-arvados-fuse ; then
+    exit 1
+fi
 
 mkdir -p /tmp/opts
 cd /tmp/opts
@@ -33,18 +51,4 @@ for r in /mnt/python27-python-*x86_64.rpm ; do
     rpm2cpio $r | cpio -idm
 done
 
-FAIL=0
-
-for so in $(find . -name "*.so") ; do
-    if ldd $so | grep "not found" ; then
-        echo "^^^ Missing while scanning $so ^^^"
-        FAIL=1
-    fi
-done
-
-python <<EOF
-import arvados
-import arvados_fuse
-EOF
-
-exit $FAIL
+exec /root/common-test.sh
index c48761c05b76308e14afc375a74806894b63a7a6..c5cbfe6148ad635f3dbf29e2e38e8807439c7bbb 100755 (executable)
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-packages-deb-common.sh --run-test debian7 debian:wheezy
+exec ./deb-common-test-packages.sh --run-test debian7 debian:wheezy
index 6e42806752011e6e9d94dcfb80662bed9c43ccf3..5502f46c0c2497e8ffb77d81b7b0f33b0f17a097 100755 (executable)
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-packages-deb-common.sh --run-test debian8 debian:jessie
+exec ./deb-common-test-packages.sh --run-test debian8 debian:jessie
index a8af4d8c3b7274e02d1e6ec47853bf4b057695e4..00727a0caef4ff6e758cb5fc2d7beee85cf04fe5 100755 (executable)
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-packages-deb-common.sh --run-test ubuntu1204 ubuntu:precise
+exec ./deb-common-test-packages.sh --run-test ubuntu1204 ubuntu:precise
index a70a1f6e415ca9f1cb6acee2b7d6eb992f62e9ab..bfc2c852186010641471cfb667b41ce90a43712d 100755 (executable)
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-packages-deb-common.sh --run-test ubuntu1404 ubuntu:trusty
+exec ./deb-common-test-packages.sh --run-test ubuntu1404 ubuntu:trusty