@@ -52,6 +52,14 @@ var_8: ©_bazel_config
52
52
# Set up the CircleCI specific bazel configuration.
53
53
run : sudo cp ./.circleci/bazel.rc /etc/bazel.bazelrc
54
54
55
+ # Sets up a different Docker image that includes a moe recent Firefox version which
56
+ # is needed for headless testing.
57
+ var_9 : &docker-firefox-image
58
+ # TODO(devversion): Temporarily use a image that includes Firefox 62 because the
59
+ # ngcontainer image does include an old Firefox version that does not support headless.
60
+ # See the PR that fixes this: https://github.com/angular/angular/pull/26435
61
+ - image : circleci/node:10.12-browsers
62
+
55
63
# -----------------------------
56
64
# Container version of CircleCI
57
65
# -----------------------------
85
93
# The available browsers are installed through the angular/ngcontainer Docker image.
86
94
# ------------------------------------------------------------------------------------------
87
95
tests_local_browsers :
88
- docker :
89
- # TODO(devversion): Temporarily use a image that includes Firefox 62 because the
90
- # ngcontainer image does include an old Firefox version that does not support headless.
91
- # See the PR that fixes this: https://github.com/angular/angular/pull/26435
92
- - image : circleci/node:10.12-browsers
96
+ docker : *docker-firefox-image
93
97
resource_class : xlarge
94
98
environment :
95
99
TEST_PLATFORM : local
@@ -104,6 +108,23 @@ jobs:
104
108
105
109
- *save_cache
106
110
111
+ # ----------------------------------------------------------------
112
+ # Job that runs the e2e tests with Protractor and Chrome w/ Xvfb. We cannot use
113
+ # Chrome headless because our tests rely on APIs which are not testable in headless mode.
114
+ # For example: the Fullscreen browser API.
115
+ # ----------------------------------------------------------------
116
+ e2e_tests :
117
+ docker : *docker-firefox-image
118
+ resource_class : xlarge
119
+ steps :
120
+ - *checkout_code
121
+ - *restore_cache
122
+ - *yarn_install
123
+
124
+ - run : xvfb-run -a --server-args='-screen 0, 1024x768x16' yarn gulp ci:e2e
125
+
126
+ - *save_cache
127
+
107
128
# ----------------------------------
108
129
# Lint job. Runs the gulp lint task.
109
130
# ----------------------------------
@@ -138,6 +159,10 @@ workflows:
138
159
jobs :
139
160
- tests_local_browsers
140
161
162
+ integration_tests :
163
+ jobs :
164
+ - e2e_tests
165
+
141
166
# Lint workflow. As we want to lint in one job, this is a workflow with just one job.
142
167
lint :
143
168
jobs :
0 commit comments