@@ -54,31 +54,41 @@ var_8: &gcp_decrypt_token "angular"
54
54
# in sync. Unlike in Travis, we don't need to manually purge the node modules if stale because
55
55
# CircleCI automatically discards the cache if the checksum of the lock file has changed.
56
56
var_9 : &yarn_install
57
- run : yarn install --frozen-lockfile --non-interactive
57
+ run :
58
+ name : " Installing project dependencies"
59
+ command : yarn install --frozen-lockfile --non-interactive
60
+
61
+ # Anchor that can be used to download and install Yarn globally in the bash environment.
62
+ var_10 : &yarn_download
63
+ run :
64
+ name : " Downloading and installing Yarn"
65
+ command : |
66
+ touch $BASH_ENV
67
+ curl -o- -L https://yarnpkg.com/install.sh | PROFILE=$BASH_ENV bash -s -- --version "1.16.0"
58
68
59
69
# Copies the Bazel config which is specifically for CircleCI to a location where Bazel picks it
60
70
# up and merges it with the project-wide bazel configuration (tools/bazel.rc)
61
- var_10 : ©_bazel_config
71
+ var_11 : ©_bazel_config
62
72
# Set up the CircleCI specific bazel configuration.
63
73
run : sudo cp ./.circleci/bazel.rc /etc/bazel.bazelrc
64
74
65
75
# Sets up a different Docker image that includes a moe recent Firefox version which
66
76
# is needed for headless testing.
67
- var_11 : &docker-firefox-image
77
+ var_12 : &docker-firefox-image
68
78
# TODO(devversion): Temporarily use a image that includes Firefox 62 because the
69
79
# ngcontainer image does include an old Firefox version that does not support headless.
70
80
- image : circleci/node:11.4.0-browsers
71
81
72
82
# Attaches the release output which has been stored in the workspace to the current job.
73
83
# https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs
74
- var_12 : &attach_release_output
84
+ var_13 : &attach_release_output
75
85
attach_workspace :
76
86
at : dist/
77
87
78
88
# Branch filter that we can specify for jobs that should only run on publish branches. This filter
79
89
# is used to ensure that not all upstream branches will be published as Github builds
80
90
# (e.g. revert branches, feature branches)
81
- var_13 : &publish_branches_filter
91
+ var_14 : &publish_branches_filter
82
92
branches :
83
93
only :
84
94
- master
@@ -92,15 +102,15 @@ var_13: &publish_branches_filter
92
102
# In order to reduce duplication we use a YAML anchor that just always excludes the "_presubmit"
93
103
# branch. We don't want to run Circle for the temporary "_presubmit" branch which is reserved
94
104
# for the caretaker.
95
- var_14 : &ignore_presubmit_branch_filter
105
+ var_15 : &ignore_presubmit_branch_filter
96
106
branches :
97
107
ignore :
98
108
- " _presubmit"
99
109
- " ivy-2019"
100
110
101
111
# Runs a script that sets up the Bazel remote execution. This will be used by jobs that run
102
112
# Bazel primarily and should benefit from remote caching and execution.
103
- var_15 : &setup_bazel_remote_execution
113
+ var_16 : &setup_bazel_remote_execution
104
114
run :
105
115
name : " Setup bazel RBE remote execution"
106
116
command : ./scripts/circleci/bazel/setup-remote-execution.sh
@@ -180,6 +190,7 @@ jobs:
180
190
steps :
181
191
- *checkout_code
182
192
- *restore_cache
193
+ - *yarn_download
183
194
- *yarn_install
184
195
185
196
- run : ./scripts/circleci/run-local-browser-tests.sh
@@ -197,6 +208,7 @@ jobs:
197
208
steps :
198
209
- *checkout_code
199
210
- *restore_cache
211
+ - *yarn_download
200
212
- *yarn_install
201
213
202
214
- run : ./scripts/circleci/run-browserstack-tests.sh
@@ -217,6 +229,7 @@ jobs:
217
229
steps :
218
230
- *checkout_code
219
231
- *restore_cache
232
+ - *yarn_download
220
233
- *yarn_install
221
234
222
235
- run : ./scripts/circleci/run-saucelabs-tests.sh
@@ -230,6 +243,7 @@ jobs:
230
243
steps :
231
244
- *checkout_code
232
245
- *restore_cache
246
+ - *yarn_download
233
247
- *yarn_install
234
248
- *attach_release_output
235
249
@@ -244,6 +258,7 @@ jobs:
244
258
steps :
245
259
- *checkout_code
246
260
- *restore_cache
261
+ - *yarn_download
247
262
- *yarn_install
248
263
249
264
- run : yarn gulp ci:prerender
@@ -256,6 +271,7 @@ jobs:
256
271
steps :
257
272
- *checkout_code
258
273
- *restore_cache
274
+ - *yarn_download
259
275
- *yarn_install
260
276
261
277
- run : ./scripts/circleci/lint-bazel-files.sh
@@ -271,6 +287,7 @@ jobs:
271
287
steps :
272
288
- *checkout_code
273
289
- *restore_cache
290
+ - *yarn_download
274
291
- *yarn_install
275
292
276
293
- run : yarn gulp ci:build-release-packages
@@ -342,6 +359,7 @@ jobs:
342
359
steps :
343
360
- *checkout_code
344
361
- *restore_cache
362
+ - *yarn_download
345
363
- *yarn_install
346
364
347
365
- run : node ./scripts/circleci/setup-angular-snapshots.js
@@ -362,6 +380,7 @@ jobs:
362
380
- *restore_cache
363
381
- *copy_bazel_config
364
382
- *setup_bazel_remote_execution
383
+ - *yarn_download
365
384
- *yarn_install
366
385
367
386
# Setup Angular ivy snapshots built with ngtsc but locked to a specific tag. We
@@ -392,6 +411,7 @@ jobs:
392
411
- *restore_cache
393
412
- *copy_bazel_config
394
413
- *setup_bazel_remote_execution
414
+ - *yarn_download
395
415
- *yarn_install
396
416
397
417
# Setup Angular ivy snapshots built with ngtsc.
0 commit comments