summaryrefslogtreecommitdiffstats
path: root/taskcluster/scripts/iris/run-iris-linux.sh
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/scripts/iris/run-iris-linux.sh')
-rwxr-xr-xtaskcluster/scripts/iris/run-iris-linux.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/taskcluster/scripts/iris/run-iris-linux.sh b/taskcluster/scripts/iris/run-iris-linux.sh
new file mode 100755
index 0000000000..7b9a30286f
--- /dev/null
+++ b/taskcluster/scripts/iris/run-iris-linux.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+# Debian10 linux bootstrap
+set -x +e -v
+
+# Set Iris code root, required by moziris
+export IRIS_CODE_ROOT=$MOZ_FETCHES_DIR/iris_firefox
+
+# Set up a virtual display since we don't have an xdisplay
+. $HOME/scripts/xvfb.sh
+start_xvfb '1920x1080x24+32' 0
+
+# Re-set `+e` after start_xvfb changes it
+set +e
+
+# configure fluxbox
+mkdir /builds/worker/.fluxbox/
+echo "exec startfluxbox" >> .xinitrc
+
+# required for X server to start correctly
+touch ~/.Xauthority
+
+# start fluxbox
+fluxbox &
+killall fluxbox
+echo "Control Mod4 Up :MaximizeWindow" >> /builds/worker/.fluxbox/keys
+fluxbox reconfigure &
+
+# Install iris's pipenv
+cd $MOZ_FETCHES_DIR/iris_firefox
+PIPENV_MAX_RETRIES="5" pipenv install
+pip_status=$?
+
+# If pipenv installation fails for any reason, make another attempt.
+if [ $pip_status -eq 0 ]
+then
+ echo "Pipenv installed correctly, proceeding to Iris test run:"
+else
+ echo "Pipenv failed to install, attempting again:"
+ pipenv lock --clear # This purges any partially/incorrectly generated lock files
+ pipenv install
+fi
+
+# Handle the nightly smoketest suite differently
+[ "$CURRENT_TEST_DIR" != "nightly" ] && irisstring="firefox -t $CURRENT_TEST_DIR" || irisstring="$CURRENT_TEST_DIR"
+echo "$irisstring"
+
+# Actually run the iris tests
+pipenv run iris $irisstring -w ../../iris_runs -n --treeherder -f ../../fetches/firefox/firefox -y
+status=$?
+
+# Zip up the test run output
+cd ../..
+zip -r runs.zip iris_runs/runs
+
+# prevent timeout of the task
+killall fluxbox
+
+# Exit with iris's exit code so treeherder knows if tests failed
+exit $status