53 lines
1.4 KiB
Bash
Executable File
53 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
run_browser() {
|
|
browser=$1
|
|
version=$2
|
|
os="$3"
|
|
description="$browser $version"
|
|
if [ $version = "latest" ]; then
|
|
version=""
|
|
fi
|
|
|
|
echo
|
|
echo
|
|
echo "Running $description"
|
|
echo
|
|
USE_SAUCE=true JASMINE_BROWSER=$browser SAUCE_BROWSER_VERSION=$version SAUCE_OS="$os" npm run ci
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "PASS: $description" >> "$passfile"
|
|
else
|
|
echo "FAIL: $description" >> "$failfile"
|
|
fi
|
|
}
|
|
|
|
passfile=`mktemp -t jasmine-results.XXXXXX` || exit 1
|
|
failfile=`mktemp -t jasmine-results.XXXXXX` || exit 1
|
|
|
|
# As of 2023-09-30, Sauce Connect doesn't work with the latest Chrome version
|
|
# on the default Linux. Run on Mac OS instead. The OS specification may need to
|
|
# be updated or removed when new Chrome versions stop being available on Mac OS
|
|
# 12, although historically this has taken several major OS versions.
|
|
# See <https://saucelabs.com/products/supported-browsers-devices>.
|
|
# On Saucelabs, the test suite frequently runs ~30s slower on Mac OS than it
|
|
# does on Linux, so it's probably worth removing the OS specification once Sauce
|
|
# Connect works with Chrome latest on Linux again.
|
|
run_browser chrome latest "macOS 12"
|
|
|
|
run_browser firefox latest
|
|
run_browser firefox 128
|
|
run_browser firefox 115
|
|
run_browser firefox 102
|
|
run_browser safari 17
|
|
run_browser safari 16
|
|
run_browser safari 15
|
|
run_browser MicrosoftEdge latest
|
|
|
|
echo
|
|
cat "$passfile" "$failfile"
|
|
|
|
if [ -s "$failfile" ]; then
|
|
exit 1
|
|
fi
|