diff options
Diffstat (limited to 'taskcluster/scripts/iris/run-iris-windows.sh')
-rwxr-xr-x | taskcluster/scripts/iris/run-iris-windows.sh | 71 |
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 |