#
# SPDX-License-Identifier: AGPL-3.0
-. `dirname "$(readlink -f "$0")"`/libcloud-pin.sh
-
COLUMNS=80
. `dirname "$(readlink -f "$0")"`/run-library.sh
|| fatal "No gitolite. Try: apt-get install gitolite3"
echo -n 'npm: '
npm --version \
- || fatal "No npm. Try: wget -O- https://nodejs.org/dist/v6.11.2/node-v6.11.2-linux-x64.tar.xz | sudo tar -C /usr/local -xJf - && sudo ln -s ../node-v6.11.2-linux-x64/bin/{node,npm} /usr/local/bin/"
+ || fatal "No npm. Try: wget -O- https://nodejs.org/dist/v10.23.1/node-v10.23.1-linux-x64.tar.xz | sudo tar -C /usr/local -xJf - && sudo ln -s ../node-v10.23.1-linux-x64/bin/{node,npm} /usr/local/bin/"
echo -n 'cadaver: '
cadaver --version | grep -w cadaver \
|| fatal "No cadaver. Try: apt-get install cadaver"
|| fatal 'rvm gemset setup'
rvm env
- (bundle version | grep -q 2.0.2) || gem install bundler -v 2.0.2
+ (bundle version | grep -q 2.2.19) || gem install --no-document bundler -v 2.2.19
bundle="$(which bundle)"
echo "$bundle"
- "$bundle" version | grep 2.0.2 || fatal 'install bundler'
+ "$bundle" version | grep 2.2.19 || fatal 'install bundler'
else
# When our "bundle install"s need to install new gems to
# satisfy dependencies, we want them to go where "gem install
echo "Will install dependencies to $(gem env gemdir)"
echo "Will install bundler and arvados gems to $tmpdir_gem_home"
echo "Gem search path is GEM_PATH=$GEM_PATH"
- bundle="$tmpdir_gem_home/bin/bundle"
+ bundle="bundle"
(
export HOME=$GEMHOME
- bundlers="$(gem list --details bundler)"
- versions=(1.11.0 1.17.3 2.0.2)
+ versions=(2.2.19)
for v in ${versions[@]}; do
- if ! echo "$bundlers" | fgrep -q "($v)"; then
- gem install --user $(for v in ${versions[@]}; do echo bundler:${v}; done)
+ if ! gem list --installed --version "${v}" bundler >/dev/null; then
+ gem install --no-document --user $(for v in ${versions[@]}; do echo bundler:${v}; done)
break
fi
done
"$bundle" version | tee /dev/stderr | grep -q 'version 2'
) || fatal 'install bundler'
+ if test -d /var/lib/arvados-arvbox/ ; then
+ # Inside arvbox, use bundler-installed binstubs. The
+ # system bundler and rail's own bin/bundle refuse to work.
+ # I don't know why.
+ bundle=binstubs/bundle
+ fi
fi
}
install_env() {
go mod download || fatal "Go deps failed"
- which goimports >/dev/null || go get golang.org/x/tools/cmd/goimports || fatal "Go setup failed"
+ which goimports >/dev/null || go install golang.org/x/tools/cmd/goimports@latest || fatal "Go setup failed"
setup_virtualenv "$VENV3DIR"
. "$VENV3DIR/bin/activate"
set -ex
cd "$WORKSPACE/services/api"
export RAILS_ENV=test
- if "$bundle" exec rails db:environment:set ; then
- "$bundle" exec rake db:drop
+ if bin/rails db:environment:set ; then
+ bin/rake db:drop
fi
- "$bundle" exec rake db:setup
- "$bundle" exec rake db:fixtures:load
+ bin/rake db:setup
+ bin/rake db:fixtures:load
) || return 1
}
)
declare -a gostuff
-gostuff=($(cd "$WORKSPACE" && git grep -lw func | grep \\.go | sed -e 's/\/[^\/]*$//' | sort -u))
+gostuff=($(cd "$WORKSPACE" && git ls-files | grep '\.go$' | sed -e 's/\/[^\/]*$//' | sort -u))
install_apps/workbench() {
cd "$WORKSPACE/apps/workbench" \
do_install services/api
do_install services/arv-git-httpd go
do_install services/keepproxy go
- do_install services/keepstore go
do_install services/keep-web go
- do_install services/ws go
}
install_all() {
do_test apps/workbench_profile
}
+test_go() {
+ do_test gofmt
+ for g in "${gostuff[@]}"
+ do
+ do_test "$g" go
+ done
+}
+
help_interactive() {
echo "== Interactive commands:"
echo "TARGET (short for 'test DIR')"