Safari 16 and 17 runners are no longer reliably available in CI. Saucelabs still provides them, but session creation failures have been frequent for weeks now. When this has happened in the past, it's been a prelude to Saucelabs dropping the affected Safari versions altogether. We could live with retrying ~30-50% of test runs in the hope that things might improve, but it's probably better to just rip the band-aid off.
55 lines
1.2 KiB
Bash
Executable File
55 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Run tests in supported browsers that are available on Saucelabs.
|
|
# Note: Safari is tested via GitHub Actions because Saucelabs only makes Safari
|
|
# 18 and later available to paid enterprise accounts. See
|
|
# .github/workflows/safari.yml.
|
|
|
|
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
|
|
|
|
run_browser chrome latest
|
|
|
|
run_browser firefox latest
|
|
if [ "$1" = "--not-actually-all" ]; then
|
|
echo "SKIPPED: firefox 140" >> "$passfile"
|
|
echo "SKIPPED: firefox 128" >> "$passfile"
|
|
echo "SKIPPED: firefox 115" >> "$passfile"
|
|
else
|
|
run_browser firefox 140
|
|
run_browser firefox 128
|
|
run_browser firefox 115
|
|
fi
|
|
run_browser firefox 102
|
|
|
|
run_browser MicrosoftEdge latest
|
|
|
|
echo
|
|
cat "$passfile" "$failfile"
|
|
|
|
if [ -s "$failfile" ]; then
|
|
exit 1
|
|
fi
|