gecko-dev/taskcluster/scripts/iris/run-iris-macos.sh
Wes Kocher c4acd9439a Bug 1573271 - Run the iris test suite in CI on Windows and Linux r=grenade,tomprince
This patch enables the iris test suite to run in CI against Windows and Linux shippable builds on mozilla-central and try. The framework is in place for Iris to run against MacOS in CI, but it is currently disabled while bootstrapping issues are sorted out.

Linux uses a new docker image based on the debian10-test parent image that installs preinstalls most of Iris's dependencies. Windows installs a few dependencies using the scoop package manager. Both then install the rest of the python dependencies via pip.

This adds a new toolchain artifact to fetch the iris_firefox git repo without touching the outside network.

Differential Revision: https://phabricator.services.mozilla.com/D41638

--HG--
extra : moz-landing-system : lando
2019-10-02 01:58:31 +00:00

39 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -x +e -v
cd $MOZ_FETCHES_DIR/iris_firefox
# FIXME: Install the following without homebrew:
# tesseract
# p7zip
# xquartz
# pipenv
# pyobjc
# pyobjc-core
# FIXME: Find a way to set these values:
# https://github.com/mozilla/iris_firefox/blob/master/bootstrap/osx_bootstrap.sh#L87-L91
# FIXME: Maybe find a way to create these download files:
# https://github.com/mozilla/iris_firefox/blob/master/bootstrap/osx_bootstrap.sh#L93-L104
# FIXME: Ensure all of the necessary python packages are available in the pypi mirror
# Mount the downloaded Firefox and install iris's pipenv
hdiutil attach ../target.dmg
python3 -m ensurepip --upgrade
pipenv install
# Handle the nightly smoketest suite differently
[ "$CURRENT_TEST_DIR" != "nightly" ] && irisstring="firefox -t $CURRENT_TEST_DIR" || irisstring="$CURRENT_TEST_DIR"
echo "$irisstring"
# Run this chunk of iris tests
pipenv run iris $irisstring -w ../../iris_runs -f /Volumes/Firefox\ Nightly/Firefox\ Nightly.app/Contents/MacOS/firefox-bin -n --treeherder -y
runstatus=$?
# FIXME: Return to the starting dir (../..) and zip up the iris_runs/runs dir
# Exit with the iris test run's exit code
exit $runstatus