sudo su -c "DEBIAN_FRONTEND=noninteractive apt-get install -y libpam0g-dev wget build-essential"
# Install docker (used in our tests and also for package building/testing)
-sudo su -c "DEBIAN_FRONTEND=noninteractive apt-get install -y docker.io make wget dpkg-dev createrepo unzip"
+sudo su -c "DEBIAN_FRONTEND=noninteractive apt-get install -y docker.io make wget dpkg-dev createrepo-c unzip"
sudo usermod -a -G docker jenkins
-# FUSE must be configured with the 'user_allow_other' option enabled for Crunch to set up Keep mounts that are readable by containers.
-# This is used in our test suite.
-echo user_allow_other | sudo tee -a /etc/fuse.conf
-
# Check out a local copy of the arvados repo so we can use it to install the dependencies
cd /usr/src
sudo git clone arvados.git
+if [[ "$GIT_HASH" != "" ]]; then
+ echo "GIT_HASH is set to $GIT_HASH, checking out that revision..."
+ (cd arvados && sudo git checkout $GIT_HASH)
+fi
+
# Install the correct version of Go
GO_VERSION=`grep 'const goversion =' /usr/src/arvados/lib/install/deps.go |awk -F'"' '{print $2}'`
cd /usr/src
sudo go mod download
sudo go run ./cmd/arvados-server install -type test
+# FUSE must be configured with the 'user_allow_other' option enabled for Crunch to set up Keep mounts that are readable by containers.
+# This is used in our test suite.
+echo user_allow_other | sudo tee -a /etc/fuse.conf
+
+# React uses a lot of filesystem watchers (via inotify). Increase the default
+# so we have a higher limit at runtime.
+echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
+
# Our Jenkins jobs use this directory to store the temporary files for the tests
mkdir /home/jenkins/tmp