summaryrefslogtreecommitdiffstats
path: root/taskcluster/scripts/iris/run-iris-windows.sh
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/scripts/iris/run-iris-windows.sh')
-rwxr-xr-xtaskcluster/scripts/iris/run-iris-windows.sh71
1 files changed, 71 insertions, 0 deletions
diff --git a/taskcluster/scripts/iris/run-iris-windows.sh b/taskcluster/scripts/iris/run-iris-windows.sh
new file mode 100755
index 0000000000..7cdde98e4a
--- /dev/null
+++ b/taskcluster/scripts/iris/run-iris-windows.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+set -x +e -v
+
+# Set Iris code root, required by moziris
+export IRIS_CODE_ROOT=$MOZ_FETCHES_DIR/iris_firefox
+
+# Store our starting dir so we can get back to it later
+dir=$(pwd)
+
+# Install scoop
+powershell -Command "Set-ExecutionPolicy RemoteSigned -scope CurrentUser"
+powershell -Command "iex (new-object net.webclient).downloadstring('https://get.scoop.sh')"
+scoopstatus=$?
+
+# Install some packages
+scoop install git # Needed to update scoop and pick up newer packages
+scoop install python@3.7.3 # Worker only has 3.6.5 out of the box, we need 3.7.3+
+
+# Enable some extra packages to be installed
+scoop bucket add versions
+scoop bucket add extras
+
+# Update scoop and scoop manifests
+scoop update
+
+# `scoop update` seems to intermittently fail, add a retry attempt
+if [ $scoopstatus -eq 0 ]
+then
+ echo "Scoop updated successfully"
+else
+ echo "scoop update failed, retrying"
+ scoop update
+fi
+
+# Install the rest of the needed packages
+scoop install which
+
+# Install tesseract-ocr
+cd $MOZ_FETCHES_DIR/iris_firefox
+scoop install bootstrap\\tesseract.json
+
+# Set up the pipenv
+python3 -m pip install --upgrade pip
+python3 -m pip install --upgrade pipenv
+python3 -m pipenv install
+pipstatus=$?
+
+# If any part of the pipenv's install failed, try it again
+if [ $pipstatus -eq 0 ]
+then
+ echo "Pipenv installed correctly, proceeding to Iris test run:"
+else
+ echo "Pipenv failed to install, attempting again:"
+ python3 -m pipenv lock --clear
+ python3 -m 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"
+
+# Run the iris test suite
+python3 -m pipenv run iris $irisstring -w ../../iris_runs -n --treeherder -f ../../fetches/firefox/firefox.exe -y
+runstatus=$?
+
+# Return to our starting dir and zip up the output of the test run
+cd ../..
+zip -r runs.zip iris_runs/runs
+
+# Exit with the status from the iris run
+exit $runstatus