1
1
version : 2.1
2
2
orbs :
3
- browser-tools : circleci/browser-tools@1.2.2
3
+ browser-tools : circleci/browser-tools@1.4.8
4
4
5
5
# Inspired by:
6
6
# https://github.com/CircleCI-Public/circleci-demo-workflows/blob/workspace-forwarding/.circleci/config.yml
28
28
29
29
install-and-cibuild : # main cibuild using node 16 & npm 7
30
30
docker :
31
- - image : cimg/node:16.8.0
31
+ - image : cimg/node:16.17.1
32
32
working_directory : ~/plotly.js
33
33
steps :
34
34
- checkout
@@ -52,11 +52,10 @@ jobs:
52
52
timezone-jasmine :
53
53
docker :
54
54
# need '-browsers' version to test in real (xvfb-wrapped) browsers
55
- - image : cimg/node:16.8.0 -browsers
55
+ - image : cimg/node:16.17.1 -browsers
56
56
working_directory : ~/plotly.js
57
57
steps :
58
58
- browser-tools/install-browser-tools : &browser-versions
59
- chrome-version : 93.0.4577.63
60
59
install-firefox : false
61
60
install-geckodriver : false
62
61
- attach_workspace :
@@ -85,15 +84,14 @@ jobs:
85
84
no-gl-jasmine :
86
85
docker :
87
86
# need '-browsers' version to test in real (xvfb-wrapped) browsers
88
- - image : cimg/node:16.8.0 -browsers
87
+ - image : cimg/node:16.17.1 -browsers
89
88
environment :
90
89
# Alaska time (arbitrary timezone to test date logic)
91
90
TZ : " America/Anchorage"
92
91
parallelism : 12
93
92
working_directory : ~/plotly.js
94
93
steps :
95
94
- browser-tools/install-browser-tools : &browser-versions
96
- chrome-version : 93.0.4577.63
97
95
install-firefox : false
98
96
install-geckodriver : false
99
97
- attach_workspace :
@@ -105,15 +103,14 @@ jobs:
105
103
webgl-jasmine :
106
104
docker :
107
105
# need '-browsers' version to test in real (xvfb-wrapped) browsers
108
- - image : cimg/node:16.8.0 -browsers
106
+ - image : cimg/node:16.17.1 -browsers
109
107
environment :
110
108
# Alaska time (arbitrary timezone to test date logic)
111
109
TZ : " America/Anchorage"
112
110
parallelism : 8
113
111
working_directory : ~/plotly.js
114
112
steps :
115
113
- browser-tools/install-browser-tools : &browser-versions
116
- chrome-version : 93.0.4577.63
117
114
install-firefox : false
118
115
install-geckodriver : false
119
116
- attach_workspace :
@@ -122,17 +119,35 @@ jobs:
122
119
name : Run jasmine tests (part B)
123
120
command : .circleci/test.sh webgl-jasmine
124
121
122
+ virtual-webgl-jasmine :
123
+ docker :
124
+ # need '-browsers' version to test in real (xvfb-wrapped) browsers
125
+ - image : cimg/node:16.17.1-browsers
126
+ environment :
127
+ # Alaska time (arbitrary timezone to test date logic)
128
+ TZ : " America/Anchorage"
129
+ parallelism : 8
130
+ working_directory : ~/plotly.js
131
+ steps :
132
+ - browser-tools/install-browser-tools : &browser-versions
133
+ install-firefox : false
134
+ install-geckodriver : false
135
+ - attach_workspace :
136
+ at : ~/
137
+ - run :
138
+ name : Run jasmine tests (part B)
139
+ command : .circleci/test.sh virtual-webgl-jasmine
140
+
125
141
flaky-no-gl-jasmine :
126
142
docker :
127
143
# need '-browsers' version to test in real (xvfb-wrapped) browsers
128
- - image : cimg/node:16.8.0 -browsers
144
+ - image : cimg/node:16.17.1 -browsers
129
145
environment :
130
146
# Alaska time (arbitrary timezone to test date logic)
131
147
TZ : " America/Anchorage"
132
148
working_directory : ~/plotly.js
133
149
steps :
134
150
- browser-tools/install-browser-tools : &browser-versions
135
- chrome-version : 93.0.4577.63
136
151
install-firefox : false
137
152
install-geckodriver : false
138
153
- attach_workspace :
@@ -144,14 +159,13 @@ jobs:
144
159
bundle-jasmine :
145
160
docker :
146
161
# need '-browsers' version to test in real (xvfb-wrapped) browsers
147
- - image : cimg/node:16.8.0 -browsers
162
+ - image : cimg/node:16.17.1 -browsers
148
163
environment :
149
164
# Alaska time (arbitrary timezone to test date logic)
150
165
TZ : " America/Anchorage"
151
166
working_directory : ~/plotly.js
152
167
steps :
153
168
- browser-tools/install-browser-tools : &browser-versions
154
- chrome-version : 93.0.4577.63
155
169
install-firefox : false
156
170
install-geckodriver : false
157
171
- attach_workspace :
@@ -163,7 +177,7 @@ jobs:
163
177
mathjax-firefox81 :
164
178
docker :
165
179
# need '-browsers' version to test in real (xvfb-wrapped) browsers
166
- - image : cimg/node:16.8.0 -browsers
180
+ - image : cimg/node:16.17.1 -browsers
167
181
environment :
168
182
# Alaska time (arbitrary timezone to test date logic)
169
183
TZ : " America/Anchorage"
@@ -182,7 +196,7 @@ jobs:
182
196
mathjax-firefox82 :
183
197
docker :
184
198
# need '-browsers' version to test in real (xvfb-wrapped) browsers
185
- - image : cimg/node:16.8.0 -browsers
199
+ - image : cimg/node:16.17.1 -browsers
186
200
environment :
187
201
# Alaska time (arbitrary timezone to test date logic)
188
202
TZ : " America/Anchorage"
@@ -201,7 +215,7 @@ jobs:
201
215
mathjax-firefoxLatest :
202
216
docker :
203
217
# need '-browsers' version to test in real (xvfb-wrapped) browsers
204
- - image : cimg/node:16.8.0 -browsers
218
+ - image : cimg/node:16.17.1 -browsers
205
219
environment :
206
220
# Alaska time (arbitrary timezone to test date logic)
207
221
TZ : " America/Anchorage"
@@ -216,6 +230,25 @@ jobs:
216
230
name : Test MathJax on firefox-latest
217
231
command : .circleci/test.sh mathjax-firefox82+
218
232
233
+ make-baselines-virtual-webgl :
234
+ parallelism : 4
235
+ docker :
236
+ - image : circleci/python:3.8.9
237
+ working_directory : ~/plotly.js
238
+ steps :
239
+ - attach_workspace :
240
+ at : ~/
241
+ - run :
242
+ name : Install kaleido, plotly.io and required fonts
243
+ command : .circleci/env_image.sh
244
+ - run :
245
+ name : Create png files using virtual-webgl & WebGL v1
246
+ command : .circleci/test.sh make-baselines-virtual-webgl
247
+ - persist_to_workspace :
248
+ root : ~/
249
+ paths :
250
+ - plotly.js
251
+
219
252
make-baselines-mathjax3 :
220
253
docker :
221
254
- image : circleci/python:3.8.9
@@ -253,9 +286,56 @@ jobs:
253
286
paths :
254
287
- plotly.js
255
288
289
+ make-baselines-b64 :
290
+ parallelism : 4
291
+ docker :
292
+ - image : circleci/python:3.8.9
293
+ working_directory : ~/plotly.js
294
+ steps :
295
+ - attach_workspace :
296
+ at : ~/
297
+ - run :
298
+ name : Install kaleido, plotly.io and required fonts
299
+ command : .circleci/env_image.sh
300
+ - run :
301
+ name : Create all png files
302
+ command : .circleci/test.sh make-baselines-b64
303
+ - persist_to_workspace :
304
+ root : ~/
305
+ paths :
306
+ - plotly.js
307
+
256
308
test-baselines :
257
309
docker :
258
- - image : circleci/node:16.8.0
310
+ - image : circleci/node:16.9.0
311
+ working_directory : ~/plotly.js
312
+ steps :
313
+ - attach_workspace :
314
+ at : ~/
315
+ - run :
316
+ name : Compare pixels
317
+ command : .circleci/test.sh test-image ; find build -maxdepth 1 -type f -delete
318
+ - store_artifacts :
319
+ path : build
320
+ destination : /
321
+
322
+ test-baselines-virtual-webgl :
323
+ docker :
324
+ - image : circleci/node:16.9.0
325
+ working_directory : ~/plotly.js
326
+ steps :
327
+ - attach_workspace :
328
+ at : ~/
329
+ - run :
330
+ name : Compare pixels
331
+ command : .circleci/test.sh test-image-virtual-webgl ; find build -maxdepth 1 -type f -delete
332
+ - store_artifacts :
333
+ path : build
334
+ destination : /
335
+
336
+ test-baselines-b64 :
337
+ docker :
338
+ - image : circleci/node:16.9.0
259
339
working_directory : ~/plotly.js
260
340
steps :
261
341
- attach_workspace :
@@ -269,7 +349,7 @@ jobs:
269
349
270
350
test-baselines-mathjax3 :
271
351
docker :
272
- - image : circleci/node:16.8 .0
352
+ - image : circleci/node:16.9 .0
273
353
working_directory : ~/plotly.js
274
354
steps :
275
355
- attach_workspace :
@@ -306,7 +386,7 @@ jobs:
306
386
307
387
test-exports :
308
388
docker :
309
- - image : circleci/node:16.8 .0
389
+ - image : circleci/node:16.9 .0
310
390
working_directory : ~/plotly.js
311
391
steps :
312
392
- attach_workspace :
@@ -320,7 +400,7 @@ jobs:
320
400
321
401
mock-validation :
322
402
docker :
323
- - image : cimg/node:16.8.0
403
+ - image : cimg/node:16.17.1
324
404
working_directory : ~/plotly.js
325
405
steps :
326
406
- attach_workspace :
@@ -334,7 +414,7 @@ jobs:
334
414
335
415
source-syntax :
336
416
docker :
337
- - image : cimg/node:16.8.0
417
+ - image : cimg/node:16.17.1
338
418
working_directory : ~/plotly.js
339
419
steps :
340
420
- attach_workspace :
@@ -345,7 +425,7 @@ jobs:
345
425
346
426
publish-dist :
347
427
docker :
348
- - image : cimg/node:16.8.0
428
+ - image : cimg/node:16.17.1
349
429
working_directory : ~/plotly.js
350
430
steps :
351
431
- checkout
@@ -400,21 +480,37 @@ jobs:
400
480
- run :
401
481
name : Test plot-schema.json diff - If failed, after (npm start) you could run (npm run schema && git add test/plot-schema.json && git commit -m "update plot-schema diff")
402
482
command : diff --unified --color dist/plot-schema.json test/plot-schema.json
483
+ - run :
484
+ name : Test plotly.min.js import using amdefine
485
+ command : npm run test-amdefine
403
486
- run :
404
487
name : Test plotly.min.js import using requirejs
405
488
command : npm run test-requirejs
406
489
- run :
407
- name : Test plotly bundles againt unexpected characters
408
- command : npm run no-bad-char
409
- - run :
410
- name : Display function constructors in plotly.js bundle
411
- command : npm run log-new-func
490
+ name : Test plotly bundles against es6
491
+ command : npm run no-es6-dist
412
492
- run :
413
- name : Test certain bundles against function constructors
493
+ name : Display function constructors in all bundles
414
494
command : npm run no-new-func
495
+
496
+ test-stackgl-bundle :
497
+ docker :
498
+ - image : cimg/node:16.17.1
499
+ working_directory : ~/plotly.js
500
+ steps :
501
+ - checkout
415
502
- run :
416
- name : Test plotly bundles against es6
417
- command : npm run no-es6-dist
503
+ name : Set up build environment
504
+ command : cd stackgl_modules && npm ci
505
+ - run :
506
+ name : Bundle bundle-stackgl/index.js
507
+ command : cd stackgl_modules && cp index.js INDEX.js && npm run bundle-stackgl
508
+ - run :
509
+ name : Test stackgl_modules/index.js diff - If failed please remember this file in auto generated and you should not modify it directly until a dependeny change. To suggest changes please submit pull request to the relevant dependency.
510
+ command : diff --unified --color stackgl_modules/INDEX.js stackgl_modules/index.js
511
+ - store_artifacts :
512
+ path : stackgl_modules/index.js
513
+ destination : stackgl_modules/index.js
418
514
419
515
workflows :
420
516
version : 2
@@ -444,15 +540,30 @@ workflows:
444
540
- webgl-jasmine :
445
541
requires :
446
542
- install-and-cibuild
543
+ - virtual-webgl-jasmine :
544
+ requires :
545
+ - install-and-cibuild
447
546
- flaky-no-gl-jasmine :
448
547
requires :
449
548
- install-and-cibuild
549
+ - make-baselines-virtual-webgl :
550
+ requires :
551
+ - install-and-cibuild
552
+ - test-baselines-virtual-webgl :
553
+ requires :
554
+ - make-baselines-virtual-webgl
450
555
- make-baselines-mathjax3 :
451
556
requires :
452
557
- install-and-cibuild
453
558
- test-baselines-mathjax3 :
454
559
requires :
455
560
- make-baselines-mathjax3
561
+ - make-baselines-b64 :
562
+ requires :
563
+ - install-and-cibuild
564
+ - test-baselines-b64 :
565
+ requires :
566
+ - make-baselines-b64
456
567
- make-baselines :
457
568
requires :
458
569
- install-and-cibuild
@@ -473,3 +584,5 @@ workflows:
473
584
- install-and-cibuild
474
585
475
586
- publish-dist
587
+
588
+ - test-stackgl-bundle
0 commit comments