Skip to content

Commit 6f79c85

Browse files
authored
Merge branch 'master' into feature/geomean
2 parents 447021b + 7d02d9c commit 6f79c85

File tree

1,139 files changed

+1418109
-1511418
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,139 files changed

+1418109
-1511418
lines changed

.circleci/config.yml

Lines changed: 142 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2.1
22
orbs:
3-
browser-tools: circleci/browser-tools@1.2.2
3+
browser-tools: circleci/browser-tools@1.4.8
44

55
# Inspired by:
66
# https://github.com/CircleCI-Public/circleci-demo-workflows/blob/workspace-forwarding/.circleci/config.yml
@@ -28,7 +28,7 @@ jobs:
2828

2929
install-and-cibuild: # main cibuild using node 16 & npm 7
3030
docker:
31-
- image: cimg/node:16.8.0
31+
- image: cimg/node:16.17.1
3232
working_directory: ~/plotly.js
3333
steps:
3434
- checkout
@@ -52,11 +52,10 @@ jobs:
5252
timezone-jasmine:
5353
docker:
5454
# 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
5656
working_directory: ~/plotly.js
5757
steps:
5858
- browser-tools/install-browser-tools: &browser-versions
59-
chrome-version: 93.0.4577.63
6059
install-firefox: false
6160
install-geckodriver: false
6261
- attach_workspace:
@@ -85,15 +84,14 @@ jobs:
8584
no-gl-jasmine:
8685
docker:
8786
# 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
8988
environment:
9089
# Alaska time (arbitrary timezone to test date logic)
9190
TZ: "America/Anchorage"
9291
parallelism: 12
9392
working_directory: ~/plotly.js
9493
steps:
9594
- browser-tools/install-browser-tools: &browser-versions
96-
chrome-version: 93.0.4577.63
9795
install-firefox: false
9896
install-geckodriver: false
9997
- attach_workspace:
@@ -105,15 +103,14 @@ jobs:
105103
webgl-jasmine:
106104
docker:
107105
# 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
109107
environment:
110108
# Alaska time (arbitrary timezone to test date logic)
111109
TZ: "America/Anchorage"
112110
parallelism: 8
113111
working_directory: ~/plotly.js
114112
steps:
115113
- browser-tools/install-browser-tools: &browser-versions
116-
chrome-version: 93.0.4577.63
117114
install-firefox: false
118115
install-geckodriver: false
119116
- attach_workspace:
@@ -122,17 +119,35 @@ jobs:
122119
name: Run jasmine tests (part B)
123120
command: .circleci/test.sh webgl-jasmine
124121

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+
125141
flaky-no-gl-jasmine:
126142
docker:
127143
# 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
129145
environment:
130146
# Alaska time (arbitrary timezone to test date logic)
131147
TZ: "America/Anchorage"
132148
working_directory: ~/plotly.js
133149
steps:
134150
- browser-tools/install-browser-tools: &browser-versions
135-
chrome-version: 93.0.4577.63
136151
install-firefox: false
137152
install-geckodriver: false
138153
- attach_workspace:
@@ -144,14 +159,13 @@ jobs:
144159
bundle-jasmine:
145160
docker:
146161
# 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
148163
environment:
149164
# Alaska time (arbitrary timezone to test date logic)
150165
TZ: "America/Anchorage"
151166
working_directory: ~/plotly.js
152167
steps:
153168
- browser-tools/install-browser-tools: &browser-versions
154-
chrome-version: 93.0.4577.63
155169
install-firefox: false
156170
install-geckodriver: false
157171
- attach_workspace:
@@ -163,7 +177,7 @@ jobs:
163177
mathjax-firefox81:
164178
docker:
165179
# 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
167181
environment:
168182
# Alaska time (arbitrary timezone to test date logic)
169183
TZ: "America/Anchorage"
@@ -182,7 +196,7 @@ jobs:
182196
mathjax-firefox82:
183197
docker:
184198
# 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
186200
environment:
187201
# Alaska time (arbitrary timezone to test date logic)
188202
TZ: "America/Anchorage"
@@ -201,7 +215,7 @@ jobs:
201215
mathjax-firefoxLatest:
202216
docker:
203217
# 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
205219
environment:
206220
# Alaska time (arbitrary timezone to test date logic)
207221
TZ: "America/Anchorage"
@@ -216,6 +230,25 @@ jobs:
216230
name: Test MathJax on firefox-latest
217231
command: .circleci/test.sh mathjax-firefox82+
218232

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+
219252
make-baselines-mathjax3:
220253
docker:
221254
- image: circleci/python:3.8.9
@@ -253,9 +286,56 @@ jobs:
253286
paths:
254287
- plotly.js
255288

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+
256308
test-baselines:
257309
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
259339
working_directory: ~/plotly.js
260340
steps:
261341
- attach_workspace:
@@ -269,7 +349,7 @@ jobs:
269349

270350
test-baselines-mathjax3:
271351
docker:
272-
- image: circleci/node:16.8.0
352+
- image: circleci/node:16.9.0
273353
working_directory: ~/plotly.js
274354
steps:
275355
- attach_workspace:
@@ -306,7 +386,7 @@ jobs:
306386

307387
test-exports:
308388
docker:
309-
- image: circleci/node:16.8.0
389+
- image: circleci/node:16.9.0
310390
working_directory: ~/plotly.js
311391
steps:
312392
- attach_workspace:
@@ -320,7 +400,7 @@ jobs:
320400

321401
mock-validation:
322402
docker:
323-
- image: cimg/node:16.8.0
403+
- image: cimg/node:16.17.1
324404
working_directory: ~/plotly.js
325405
steps:
326406
- attach_workspace:
@@ -334,7 +414,7 @@ jobs:
334414

335415
source-syntax:
336416
docker:
337-
- image: cimg/node:16.8.0
417+
- image: cimg/node:16.17.1
338418
working_directory: ~/plotly.js
339419
steps:
340420
- attach_workspace:
@@ -345,7 +425,7 @@ jobs:
345425

346426
publish-dist:
347427
docker:
348-
- image: cimg/node:16.8.0
428+
- image: cimg/node:16.17.1
349429
working_directory: ~/plotly.js
350430
steps:
351431
- checkout
@@ -400,21 +480,37 @@ jobs:
400480
- run:
401481
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")
402482
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
403486
- run:
404487
name: Test plotly.min.js import using requirejs
405488
command: npm run test-requirejs
406489
- 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
412492
- run:
413-
name: Test certain bundles against function constructors
493+
name: Display function constructors in all bundles
414494
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
415502
- 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
418514

419515
workflows:
420516
version: 2
@@ -444,15 +540,30 @@ workflows:
444540
- webgl-jasmine:
445541
requires:
446542
- install-and-cibuild
543+
- virtual-webgl-jasmine:
544+
requires:
545+
- install-and-cibuild
447546
- flaky-no-gl-jasmine:
448547
requires:
449548
- 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
450555
- make-baselines-mathjax3:
451556
requires:
452557
- install-and-cibuild
453558
- test-baselines-mathjax3:
454559
requires:
455560
- make-baselines-mathjax3
561+
- make-baselines-b64:
562+
requires:
563+
- install-and-cibuild
564+
- test-baselines-b64:
565+
requires:
566+
- make-baselines-b64
456567
- make-baselines:
457568
requires:
458569
- install-and-cibuild
@@ -473,3 +584,5 @@ workflows:
473584
- install-and-cibuild
474585

475586
- publish-dist
587+
588+
- test-stackgl-bundle

.circleci/env_image.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ sudo cp -r .circleci/fonts/ /usr/share/ && \
66
sudo fc-cache -f && \
77
# install kaleido & plotly
88
sudo python3 -m pip install kaleido==0.2.1 plotly==5.5.0 --progress-bar off
9+
# install numpy i.e. to convert arrays to typed arrays
10+
sudo python3 -m pip install numpy==1.24.2

0 commit comments

Comments
 (0)