3894: Use readable timestamp (yyyymmddhhmmss) for python package
[arvados-dev.git] / jenkins / run-build-packages.sh
index d9d3d18fb0c9e0ac87b70c049622ca06bfec28a5..4a39391ea251d8fe20d8a15774a8edeb8dec1fd7 100755 (executable)
@@ -63,6 +63,8 @@ python setup.py egg_info -b ".$GIT_HASH" sdist upload
 
 # Build debs for everything
 
+# Build arvados src deb package
+
 build_and_scp_deb () {
   PACKAGE=$1
   PACKAGE_NAME=$2
@@ -117,29 +119,50 @@ fi
 # Make sure our destination directory on $APTSERVER exists - prm can delete it when invoked improperly
 ssh -p2222 $APTUSER@$APTSERVER mkdir tmp
 
+# Arvados-src
+# We use $WORKSPACE/src-build-dir as the clean directory from which to build the src package
+if [[ ! -d "$WORKSPACE/src-build-dir" ]]; then
+  mkdir "$WORKSPACE/src-build-dir"
+  cd "$WORKSPACE"
+  git clone https://github.com/curoverse/arvados.git src-build-dir
+fi  
+
+cd "$WORKSPACE/src-build-dir"
+# just in case, check out master
+git checkout master
+git pull
+# go into detached-head state
+git checkout `git log --format=format:%h -n1 .`
+cd $WORKSPACE
+
+cd $WORKSPACE/debs
+build_and_scp_deb $WORKSPACE/src-build-dir/=/usr/local/arvados/src arvados-src 'Curoverse, Inc.' 'dir' "-v 0.1.$GIT_HASH -x 'usr/local/arvados/src/.git*'"
+
+# clean up, check out master and step away from detached-head state
+cd "$WORKSPACE/src-build-dir"
+git checkout master
+
 # Keep
-cd $WORKSPACE/services/keep
-./go.sh install keep
+export GOPATH=$(mktemp -d)
+mkdir -p "$GOPATH/src/git.curoverse.com"
+ln -sfn "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git"
+
+# Keep -> keepstore
+go get "git.curoverse.com/arvados.git/services/keepstore"
 cd $WORKSPACE/debs
-build_and_scp_deb $WORKSPACE/services/keep/bin/keep=/usr/bin/keep keep 'Curoverse, Inc.' 'dir' "-v 0.1.$GIT_HASH"
+build_and_scp_deb $GOPATH/bin/keepstore=/usr/bin/keepstore keepstore 'Curoverse, Inc.' 'dir' "-v 0.1.$GIT_HASH"
 
 # Keep proxy
 
-# First build the keepclient library
-cd $WORKSPACE/sdk/go
-./go.sh install arvados.org/keepclient
-
-# Then keepproxy
-cd $WORKSPACE/services/keep
-./go.sh install arvados.org/keepproxy
+# Keep -> keepproxy
+go get "git.curoverse.com/arvados.git/services/keepproxy"
 cd $WORKSPACE/debs
-build_and_scp_deb $WORKSPACE/services/keep/bin/keepproxy=/usr/bin/keepproxy keepproxy 'Curoverse, Inc.' 'dir' "-v 0.1.$GIT_HASH"
+build_and_scp_deb $GOPATH/bin/keepproxy=/usr/bin/keepproxy keepproxy 'Curoverse, Inc.' 'dir' "-v 0.1.$GIT_HASH"
 
-# The crunchstat wrapper
-cd $WORKSPACE/services/crunch/crunchstat
-./go.sh install arvados.org/crunchstat
+# crunchstat
+go get "git.curoverse.com/arvados.git/services/crunchstat"
 cd $WORKSPACE/debs
-build_and_scp_deb $WORKSPACE/services/crunch/crunchstat/bin/crunchstat=/usr/bin/crunchstat crunchstat 'Curoverse, Inc.' 'dir' "-v 0.1.$GIT_HASH"
+build_and_scp_deb $GOPATH/bin/crunchstat=/usr/bin/crunchstat crunchstat 'Curoverse, Inc.' 'dir' "-v 0.1.$GIT_HASH"
 
 # The Python SDK
 cd $WORKSPACE/sdk/python
@@ -159,7 +182,6 @@ build_and_scp_deb $WORKSPACE/sdk/python python-arvados-python-client 'Curoverse,
 cd $WORKSPACE/services/fuse
 sed -i'' -e "s:version='0.1':version='0.1.$GIT_HASH':" setup.py
 
-
 cd $WORKSPACE/debs
 
 # Please seem comment about --no-python-fix-name above; we stay consistent and do
@@ -181,3 +203,5 @@ else
   echo "No new packages generated. No PRM run necessary."
 fi
 
+# clean up temporary GOPATH
+rm -rf "$GOPATH"