echo -n 'ruby: '
ruby -v \
|| fatal "No ruby. Install >=2.1.9 (using rbenv, rvm, or source)"
- echo -n 'bundler: '
- bundle version \
- || fatal "No bundler. Try: gem install bundler"
echo -n 'go: '
go version \
|| fatal "No go binary. See http://golang.org/doc/install"
setup_ruby_environment() {
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
- source "$HOME/.rvm/scripts/rvm"
- using_rvm=true
+ source "$HOME/.rvm/scripts/rvm"
+ using_rvm=true
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
- source "/usr/local/rvm/scripts/rvm"
- using_rvm=true
+ source "/usr/local/rvm/scripts/rvm"
+ using_rvm=true
else
- using_rvm=false
+ using_rvm=false
fi
if [[ "$using_rvm" == true ]]; then
tmpdir_gem_home="$(env - PATH="$PATH" HOME="$GEMHOME" gem env gempath | cut -f1 -d:)"
PATH="$tmpdir_gem_home/bin:$PATH"
- export GEM_PATH="$tmpdir_gem_home:$(gem env gempath)"
+ export GEM_PATH="$tmpdir_gem_home"
echo "Will install dependencies to $(gem env gemdir)"
echo "Will install arvados gems to $tmpdir_gem_home"
echo "Gem search path is GEM_PATH=$GEM_PATH"
fi
+ bundle config || gem install bundler \
+ || fatal 'install bundler'
}
with_test_gemset() {
mkdir -p "$GOPATH/src/git.curoverse.com"
ln -sfT "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" \
|| fatal "symlink failed"
+go get -v github.com/kardianos/govendor \
+ || fatal "govendor install failed"
setup_virtualenv "$VENVDIR" --python python2.7
. "$VENVDIR/bin/activate"
}
do_install services/api apiserver
+cd "$GOPATH/src/git.curoverse.com/arvados.git" && \
+ "$GOPATH/bin/govendor" sync -v || \
+ fatal "govendor sync failed"
declare -a gostuff
gostuff=(
sdk/go/arvados
tools/keep-block-check
tools/keep-exercise
tools/keep-rsync
- )
+)
for g in "${gostuff[@]}"
do
do_install "$g" go
exit_cleanly
fi
-start_api
+start_api || { stop_services; fatal "start_api"; }
test_ruby_sdk() {
cd "$WORKSPACE/sdk/ruby" \
}
do_test services/login-sync login-sync
+test_nodemanager-integration() {
+ cd "$WORKSPACE/services/nodemanager" \
+ && tests/integration_test.py ${testargs[services/nodemanager-integration]}
+}
+do_test services/nodemanager-integration nodemanager-integration
+
for p in "${pythonstuff[@]}"
do
dir=${p%:py3}