Skip to content

Commit 32fbb2e

Browse files
authored
chore(travis): split unit test into 'core' and 'jquery'
"unit-core" consists of code+jqlite, module test, and promise A+ tests. "unit-jquery" is code+jquery "docs-app" includes unit and e2e tests Splitting the unit tests into more than one job makes it faster to rerun jobs that fail because Safari or Edge cannot complete the suite, which seemingly happens on random. Closes angular#16292
1 parent 9ba07e9 commit 32fbb2e

File tree

3 files changed

+35
-17
lines changed

3 files changed

+35
-17
lines changed

.travis.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ branches:
1515
env:
1616
matrix:
1717
- JOB=ci-checks
18-
- JOB=unit BROWSER_PROVIDER=saucelabs
19-
- JOB=docs-e2e BROWSER_PROVIDER=saucelabs
18+
- JOB=unit-core BROWSER_PROVIDER=saucelabs
19+
- JOB=unit-jquery BROWSER_PROVIDER=saucelabs
20+
- JOB=docs-app BROWSER_PROVIDER=saucelabs
2021
- JOB=e2e TEST_TARGET=jqlite BROWSER_PROVIDER=saucelabs
2122
- JOB=e2e TEST_TARGET=jquery BROWSER_PROVIDER=saucelabs
2223
global:

scripts/travis/before_build.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ if [ "$JOB" != "ci-checks" ]; then
1212
fi
1313

1414
# ci-checks and unit tests do not run against the packaged code
15-
if [ "$JOB" != "ci-checks" ] && [ "$JOB" != "unit" ]; then
15+
if [[ "$JOB" != "ci-checks" ]] && [[ "$JOB" != unit-* ]]; then
1616
grunt package
1717
fi
1818

1919
# unit runs the docs tests too which need a built version of the code
20-
if [ "$JOB" = "unit" ]; then
20+
if [[ "$JOB" = unit-* ]]; then
2121
grunt bower
2222
grunt validate-angular-files
2323
grunt build

scripts/travis/build.sh

+30-13
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,18 @@
22

33
set -e
44

5-
export BROWSER_STACK_ACCESS_KEY=`echo $BROWSER_STACK_ACCESS_KEY | rev`
6-
export SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev`
5+
export BROWSER_STACK_ACCESS_KEY
6+
export SAUCE_ACCESS_KEY
7+
8+
BROWSER_STACK_ACCESS_KEY=$(echo "$BROWSER_STACK_ACCESS_KEY" | rev)
9+
SAUCE_ACCESS_KEY=$(echo "$SAUCE_ACCESS_KEY" | rev)
10+
11+
BROWSERS="SL_Chrome,SL_Chrome-1,\
12+
SL_Firefox,SL_Firefox-1,\
13+
SL_Safari_8,SL_Safari_9,\
14+
SL_iOS,\
15+
SL_IE_9,SL_IE_10,SL_IE_11,\
16+
SL_EDGE,SL_EDGE-1"
717

818
case "$JOB" in
919
"ci-checks")
@@ -17,18 +27,18 @@ case "$JOB" in
1727
yarn run commitplease -- "${TRAVIS_COMMIT_RANGE/.../..}"
1828
fi
1929
;;
20-
"unit")
21-
if [[ "$BROWSER_PROVIDER" == "browserstack" ]]; then
22-
BROWSERS="BS_Chrome,BS_Safari,BS_Firefox,BS_IE_9,BS_IE_10,BS_IE_11,BS_EDGE,BS_iOS_8,BS_iOS_9"
23-
else
24-
BROWSERS="SL_Chrome,SL_Chrome-1,SL_Firefox,SL_Firefox-1,SL_Safari_8,SL_Safari_9,SL_IE_9,SL_IE_10,SL_IE_11,SL_EDGE,SL_EDGE-1,SL_iOS"
25-
fi
26-
30+
"unit-core")
2731
grunt test:promises-aplus
28-
grunt test:unit --browsers="$BROWSERS" --reporters=spec
29-
grunt tests:docs --browsers="$BROWSERS" --reporters=spec
32+
grunt test:jqlite --browsers="$BROWSERS" --reporters=spec
33+
grunt test:modules --browsers="$BROWSERS" --reporters=spec
3034
;;
31-
"docs-e2e")
35+
"unit-jquery")
36+
grunt test:jquery --browsers="$BROWSERS" --reporters=spec
37+
grunt test:jquery-2.2 --browsers="$BROWSERS" --reporters=spec
38+
grunt test:jquery-2.1 --browsers="$BROWSERS" --reporters=spec
39+
;;
40+
"docs-app")
41+
grunt tests:docs --browsers="$BROWSERS" --reporters=spec
3242
grunt test:travis-protractor --specs="docs/app/e2e/**/*.scenario.js"
3343
;;
3444
"e2e")
@@ -71,6 +81,13 @@ case "$JOB" in
7181
fi
7282
;;
7383
*)
74-
echo "Unknown job type. Please set JOB=ci-checks, JOB=unit, JOB=deploy or JOB=e2e-*."
84+
echo "Unknown job type. Please set JOB to one of\
85+
'ci-checks',\
86+
'unit-core',\
87+
'unit-jquery',\
88+
'docs-app',\
89+
'e2e',\
90+
or\
91+
'deploy'."
7592
;;
7693
esac

0 commit comments

Comments
 (0)