Skip to content

Commit ac53226

Browse files
author
Richard Nicolaas Meijerink
committed
Merge remote-tracking branch 'origin/circleci-project-setup' into PR
2 parents 1db8588 + 656bfb8 commit ac53226

File tree

323 files changed

+39894
-19057
lines changed

Some content is hidden

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

323 files changed

+39894
-19057
lines changed

Diff for: .circleci/config.yml

+72-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1+
# This config is equivalent to both the '.circleci/extended/orb-free.yml' and the base '.circleci/config.yml'
12
version: 2.1
3+
4+
# Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects.
5+
# See: https://circleci.com/docs/2.0/orb-intro/
26
orbs:
37
browser-tools: circleci/[email protected]
48

@@ -122,6 +126,26 @@ jobs:
122126
name: Run jasmine tests (part B)
123127
command: .circleci/test.sh webgl-jasmine
124128

129+
virtual-webgl-jasmine:
130+
docker:
131+
# need '-browsers' version to test in real (xvfb-wrapped) browsers
132+
- image: cimg/node:16.17.1-browsers
133+
environment:
134+
# Alaska time (arbitrary timezone to test date logic)
135+
TZ: "America/Anchorage"
136+
parallelism: 8
137+
working_directory: ~/plotly.js
138+
steps:
139+
- browser-tools/install-browser-tools: &browser-versions
140+
chrome-version: 110.0.5481.100
141+
install-firefox: false
142+
install-geckodriver: false
143+
- attach_workspace:
144+
at: ~/
145+
- run:
146+
name: Run jasmine tests (part B)
147+
command: .circleci/test.sh virtual-webgl-jasmine
148+
125149
flaky-no-gl-jasmine:
126150
docker:
127151
# need '-browsers' version to test in real (xvfb-wrapped) browsers
@@ -170,7 +194,7 @@ jobs:
170194
working_directory: ~/plotly.js
171195
steps:
172196
- browser-tools/install-browser-tools: &browser-versions
173-
firefox-version: '81.0'
197+
firefox-version: "81.0"
174198
install-chrome: false
175199
install-chromedriver: false
176200
- attach_workspace:
@@ -189,7 +213,7 @@ jobs:
189213
working_directory: ~/plotly.js
190214
steps:
191215
- browser-tools/install-browser-tools: &browser-versions
192-
firefox-version: '82.0'
216+
firefox-version: "82.0"
193217
install-chrome: false
194218
install-chromedriver: false
195219
- attach_workspace:
@@ -216,6 +240,25 @@ jobs:
216240
name: Test MathJax on firefox-latest
217241
command: .circleci/test.sh mathjax-firefox82+
218242

243+
make-baselines-virtual-webgl:
244+
parallelism: 2
245+
docker:
246+
- image: circleci/python:3.8.9
247+
working_directory: ~/plotly.js
248+
steps:
249+
- attach_workspace:
250+
at: ~/
251+
- run:
252+
name: Install kaleido, plotly.io and required fonts
253+
command: .circleci/env_image.sh
254+
- run:
255+
name: Create png files using virtual-webgl & WebGL v1
256+
command: .circleci/test.sh make-baselines-virtual-webgl
257+
- persist_to_workspace:
258+
root: ~/
259+
paths:
260+
- plotly.js
261+
219262
make-baselines-mathjax3:
220263
docker:
221264
- image: circleci/python:3.8.9
@@ -267,6 +310,20 @@ jobs:
267310
path: build
268311
destination: /
269312

313+
test-baselines-virtual-webgl:
314+
docker:
315+
- image: circleci/node:16.9.0
316+
working_directory: ~/plotly.js
317+
steps:
318+
- attach_workspace:
319+
at: ~/
320+
- run:
321+
name: Compare pixels
322+
command: .circleci/test.sh test-image-virtual-webgl ; find build -maxdepth 1 -type f -delete
323+
- store_artifacts:
324+
path: build
325+
destination: /
326+
270327
test-baselines-mathjax3:
271328
docker:
272329
- image: circleci/node:16.9.0
@@ -294,8 +351,8 @@ jobs:
294351
- run:
295352
name: Install poppler-utils to have pdftops for exporting eps
296353
command: |
297-
sudo apt-get update --allow-releaseinfo-change
298-
sudo apt-get install poppler-utils
354+
sudo apt-get update --allow-releaseinfo-change
355+
sudo apt-get install poppler-utils
299356
- run:
300357
name: Create svg, jpg, jpeg, webp, pdf and eps files
301358
command: python3 test/image/make_exports.py
@@ -414,8 +471,8 @@ jobs:
414471
command: npm run no-new-func
415472

416473
workflows:
417-
version: 2
418-
build-and-test:
474+
sample: # This is the name of the workflow, feel free to change it to better match your workflow.
475+
# Inside the workflow, you define the jobs you want to run.
419476
jobs:
420477
- install-and-cibuild-node12
421478

@@ -441,9 +498,18 @@ workflows:
441498
- webgl-jasmine:
442499
requires:
443500
- install-and-cibuild
501+
- virtual-webgl-jasmine:
502+
requires:
503+
- install-and-cibuild
444504
- flaky-no-gl-jasmine:
445505
requires:
446506
- install-and-cibuild
507+
- make-baselines-virtual-webgl:
508+
requires:
509+
- install-and-cibuild
510+
- test-baselines-virtual-webgl:
511+
requires:
512+
- make-baselines-virtual-webgl
447513
- make-baselines-mathjax3:
448514
requires:
449515
- install-and-cibuild

Diff for: .circleci/test.sh

+24
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,16 @@ case $1 in
5353
exit $EXIT_STATE
5454
;;
5555

56+
virtual-webgl-jasmine)
57+
SHARDS=($(node $ROOT/tasks/shard_jasmine_tests.js --limit=5 --tag=gl | circleci tests split))
58+
for s in ${SHARDS[@]}; do
59+
MAX_AUTO_RETRY=2
60+
retry ./node_modules/karma/bin/karma start test/jasmine/karma.conf.js --virtualWebgl --tags=gl --skip-tags=noCI,noVirtualWebgl --doNotFailOnEmptyTestSuite -- "$s"
61+
done
62+
63+
exit $EXIT_STATE
64+
;;
65+
5666
flaky-no-gl-jasmine)
5767
SHARDS=($(node $ROOT/tasks/shard_jasmine_tests.js --limit=1 --tag=flaky | circleci tests split))
5868

@@ -82,6 +92,15 @@ case $1 in
8292
exit $EXIT_STATE
8393
;;
8494

95+
make-baselines-virtual-webgl)
96+
SUITE=$({\
97+
find $ROOT/test/image/mocks/gl* -type f -printf "%f\n"; \
98+
find $ROOT/test/image/mocks/mapbox* -type f -printf "%f\n"; \
99+
} | sed 's/\.json$//1' | circleci tests split)
100+
python3 test/image/make_baseline.py virtual-webgl $SUITE || EXIT_STATE=$?
101+
exit $EXIT_STATE
102+
;;
103+
85104
make-baselines-mathjax3)
86105
python3 test/image/make_baseline.py mathjax3 legend_mathjax_title_and_items mathjax parcats_grid_subplots table_latex_multitrace_scatter table_plain_birds table_wrapped_birds ternary-mathjax || EXIT_STATE=$?
87106
exit $EXIT_STATE
@@ -103,6 +122,11 @@ case $1 in
103122
exit $EXIT_STATE
104123
;;
105124

125+
test-image-virtual-webgl)
126+
node test/image/compare_pixels_test.js virtual-webgl || { tar -cvf build/baselines.tar build/test_images/*.png ; exit 1 ; } || EXIT_STATE=$?
127+
exit $EXIT_STATE
128+
;;
129+
106130
source-syntax)
107131
npm run lint || EXIT_STATE=$?
108132
npm run test-syntax || EXIT_STATE=$?

Diff for: CHANGELOG.md

+182
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,188 @@ To see all merged commits on the master branch that will be part of the next plo
99

1010
where X.Y.Z is the semver of most recent plotly.js release.
1111

12+
## [2.27.1] -- 2023-11-08
13+
14+
### Changed
15+
- Adjust stamen styles to point to `stadiamaps.com`, the users may also need to provide their own API_KEY via `config.mapboxAccessToken` [[#6776](https://github.com/plotly/plotly.js/pull/6776), [#6778](https://github.com/plotly/plotly.js/pull/6778)]
16+
17+
### Fixed
18+
- Fix handling multi-line text in title `automargin` [[#6758](https://github.com/plotly/plotly.js/pull/6758)]
19+
20+
21+
## [2.27.0] -- 2023-10-20
22+
23+
### Added
24+
- Add `insiderange` to cartesian axes to help avoid overlap between visible grid lines and tick labels of the counter axis when they are positioned inside [[#6735](https://github.com/plotly/plotly.js/pull/6735)],
25+
this feature was anonymously sponsored: thank you to our sponsor!
26+
27+
### Fixed
28+
- Fix column order changes on hover [[#6718](https://github.com/plotly/plotly.js/pull/6718)],
29+
with thanks to @bhavinpatel1109 for the contribution!
30+
- Fix hover at timestamp '1970-01-01 00:00:00' [[#6752](https://github.com/plotly/plotly.js/pull/6752)],
31+
with thanks to @adamjhawley for the contribution!
32+
- Fix clearing empty `candlestick` using react [[#6757](https://github.com/plotly/plotly.js/pull/6757)]
33+
34+
35+
## [2.26.2] -- 2023-10-04
36+
37+
### Fixed
38+
- Fix range interactions affecting partial ranges in other subplots [[#6743](https://github.com/plotly/plotly.js/pull/6743)]
39+
- Fix to emit `plotly_click` event on touchscreens with "select" `dragmode` [[#6724](https://github.com/plotly/plotly.js/pull/6724)]),
40+
with thanks to @lvlte for the contribution!
41+
- Fix error display for failing builds [[#6739](https://github.com/plotly/plotly.js/pull/6739)],
42+
with thanks to @dmt0 for the contribution!
43+
- Use the "willReadFrequently" 2d context creation attribute to optimize readback performance for heat map traces [[#6741](https://github.com/plotly/plotly.js/pull/6741)],
44+
with thanks to @bebeal for the contribution!
45+
46+
47+
## [2.26.1] -- 2023-09-22
48+
49+
### Fixed
50+
- Fix horizontal title alignment [[#6725](https://github.com/plotly/plotly.js/issues/6725)],
51+
with thanks to @28raining for the contribution!
52+
- Fix single-point histogram when user has provided bin widths [[#6725](https://github.com/plotly/plotly.js/issues/6725)],
53+
with thanks to @28raining for the contribution!
54+
- Fix to allow custom `plotly_legenddoubleclick` handlers to execute even when the default `plotly_legendclick` event is cancelled (returns false) [[#6727](https://github.com/plotly/plotly.js/pull/6727)], with thanks to @andrej-vasilj for the contribution!
55+
- Fix Finnish translation for "Download plot" in `fi` locale [[#6723](https://github.com/plotly/plotly.js/issues/6723)],
56+
with thanks to @wkmor1 for the contribution!
57+
- Fix Czech number separators in `cs` locale [[#6734](https://github.com/plotly/plotly.js/pull/6734)],
58+
with thanks to @vlastimil-dolejs for the contribution!
59+
60+
61+
## [2.26.0] -- 2023-08-24
62+
63+
### Added
64+
- Add "min", "max", "min reversed" and "max reversed" autorange options and handle partial ranges (i.e. one end being null), add `autorangeoptions` (`clipmin`, `clipmax`, `minallowed`, `maxallowed`, `include`) as well as `minallowed` and `maxallowed` to cartesian, gl3d and radial axes [[#6547](https://github.com/plotly/plotly.js/pull/6547)]
65+
- Add [n]-sigma (std deviations) box plots as an alternative to quartiles [[#6697](https://github.com/plotly/plotly.js/issues/6697)], with thanks to @28raining for the contribution!
66+
- Add "top left" & "top center" side options to legend title [[#6711](https://github.com/plotly/plotly.js/pull/6711)], with thanks to @28raining for the contribution!
67+
- Add "false" option to `scaleanchor` to allow removing a constraint that is set by default [[#6712](https://github.com/plotly/plotly.js/pull/6712)], with thanks to @lvlte for the contribution!
68+
69+
70+
## [2.25.2] -- 2023-08-11
71+
72+
### Changed
73+
- Update Croatian translations in `hr` locale [[#6690](https://github.com/plotly/plotly.js/pull/6690)],
74+
with thanks to @Mkranj for the contribution!
75+
76+
### Fixed
77+
- Fix potential prototype pollution in plot API calls [[#6703](https://github.com/plotly/plotly.js/pull/6703), [6704](https://github.com/plotly/plotly.js/pull/6704)]
78+
79+
80+
## [2.25.1] -- 2023-08-02
81+
82+
### Fixed
83+
- Fix clearing legend using react (regression introduced in 2.25.0) [[#6695](https://github.com/plotly/plotly.js/pull/6695)]
84+
85+
86+
## [2.25.0] -- 2023-07-25
87+
88+
### Added
89+
- Add "Equal Earth" projection to geo subplots [[#6670](https://github.com/plotly/plotly.js/pull/6670)],
90+
with thanks to @apparebit for the contribution!
91+
- Add options to include legends for shapes and `newshape` [[#6653](https://github.com/plotly/plotly.js/pull/6653)]
92+
- Add Plotly.deleteActiveShape command [[#6679](https://github.com/plotly/plotly.js/pull/6679)]
93+
94+
### Fixed
95+
- Fix contour plot colorscale domain (take account of `zmin`, `zmax`, `cmin` and `cmax`) [[#6625](https://github.com/plotly/plotly.js/pull/6625)],
96+
with thanks to @lvlte for the contribution!
97+
- Fix text markers on non-mapbox styled maps [[#6652](https://github.com/plotly/plotly.js/pull/6652)],
98+
with thanks to @baurt for the contribution!
99+
- Fix unhide isolated traces in multi legend cases (regression introduced in 2.24.3) [[#6684](https://github.com/plotly/plotly.js/pull/6684)]
100+
101+
102+
## [2.24.3] -- 2023-07-05
103+
104+
### Fixed
105+
- Fix double clicking one item in a legend hides traces in other legends [[#6655](https://github.com/plotly/plotly.js/pull/6655)]
106+
- Fix double click pie slices when having multiple legends [[#6657](https://github.com/plotly/plotly.js/pull/6657)]
107+
- Fix per legend group and traceorder defaults when having multiple legends [[#6664](https://github.com/plotly/plotly.js/pull/6664)]
108+
109+
110+
## [2.24.2] -- 2023-06-09
111+
112+
### Fixed
113+
- Fix legend groups toggle (regression introduced in 2.22.0) [#6639]((https://github.com/plotly/plotly.js/issues/6639))
114+
- Fix waterfall `hovertemplate` not showing delta on totals similar [#6635]((https://github.com/plotly/plotly.js/issues/6635))
115+
116+
117+
## [2.24.1] -- 2023-06-07
118+
119+
### Fixed
120+
- Fix minimal copying of arrays in minExtend function
121+
(regression introduced in 2.24.0) [#6632]((https://github.com/plotly/plotly.js/issues/6632))
122+
123+
124+
## [2.24.0] -- 2023-06-06
125+
126+
### Added
127+
- add pattern to pie, funnelarea, sunburst, icicle and treemap traces [[#6601](https://github.com/plotly/plotly.js/pull/6601), [#6619](https://github.com/plotly/plotly.js/pull/6619), [#6622](https://github.com/plotly/plotly.js/pull/6622), [#6626](https://github.com/plotly/plotly.js/pull/6626), [#6627](https://github.com/plotly/plotly.js/pull/6627), [#6628](https://github.com/plotly/plotly.js/pull/6628), [#6629](https://github.com/plotly/plotly.js/pull/6629)],
128+
with thanks to @thierryVergult for the contribution!
129+
130+
### Fixed
131+
- Fix to prevent accessing undefined (hoverText.hoverLabels) in case all currently shown markers
132+
have hoverinfo: "none" (regression introduced in 2.6.0) [#6614]((https://github.com/plotly/plotly.js/issues/6614)),
133+
with thanks to @Domino987 for the contribution!
134+
- Fix to ensure only minimum margin spacing is added for container-referenced legends and colorbars [[#6616](https://github.com/plotly/plotly.js/pull/6616)]
135+
136+
137+
## [2.23.2] -- 2023-05-19
138+
139+
### Fixed
140+
- Fix text rendering while drawing new shapes [[#6608](https://github.com/plotly/plotly.js/pull/6608)],
141+
with thanks to the [Volkswagen](https://www.volkswagenag.com) Center of Excellence for Battery Systems for sponsoring development!
142+
143+
144+
## [2.23.1] -- 2023-05-16
145+
146+
### Fixed
147+
- Fix heatmap rendering on iOS and Safari when `zsmooth` is set to false [[#6605](https://github.com/plotly/plotly.js/pull/6605)], with thanks to @lvlte for the contribution!
148+
149+
150+
## [2.23.0] -- 2023-05-12
151+
152+
### Added
153+
- Add `legend.xref` and `legend.yref` to enable container-referenced positioning of legends [[#6589](https://github.com/plotly/plotly.js/pull/6589)], with thanks to [Gamma Technologies](https://www.gtisoft.com/) for sponsoring the related development.
154+
- Add `colorbar.xref` and `colorbar.yref` to enable container-referenced positioning of colorbars [[#6593](https://github.com/plotly/plotly.js/pull/6593)], with thanks to [Gamma Technologies](https://www.gtisoft.com/) for sponsoring the related development.
155+
156+
### Changed
157+
- Improve heatmap rendering performance when `zsmooth` is set to false [[#6574](https://github.com/plotly/plotly.js/pull/6574)], with thanks to @lvlte for the contribution!
158+
159+
160+
## [2.22.0] -- 2023-04-27
161+
162+
### Added
163+
- Add `legend` references to traces and `legend2`, `legend3`, etc. to layout,
164+
also add `visible` to legend i.e. to allow positioning multiple legends on a graph [[#6535](https://github.com/plotly/plotly.js/pull/6535)],
165+
this feature was anonymously sponsored: thank you to our sponsor!
166+
167+
### Changed
168+
- Update Norwegian translations in `no` locale [[#5410](https://github.com/plotly/plotly.js/pull/5410)],
169+
with thanks to @bjornol for the contribution!
170+
- Update Slovak translations and number formats in `sk` locale [[#6580](https://github.com/plotly/plotly.js/pull/6580)], with thanks to @Libco for the contribution!
171+
172+
### Fixed
173+
- Fix `plotly_click` in gl3d scenes to fire on touch devices [[#6563](https://github.com/plotly/plotly.js/pull/6563)],
174+
with thanks to @NickTominaga for the contribution!
175+
- Fix scatter3d when `marker.opacity` is set to zero [[#6581](https://github.com/plotly/plotly.js/pull/6581)], with thanks to @dmyronuk for the contribution!
176+
- Fix scattermapbox visibility restyle [[#6567](https://github.com/plotly/plotly.js/pull/6567)]
177+
178+
179+
## [2.21.0] -- 2023-04-17
180+
181+
### Added
182+
- Add `texttemplate` to shape.label for parametric shapes i.e. line, rect and circle [[#6527](https://github.com/plotly/plotly.js/pull/6527)],
183+
with thanks to the [Volkswagen](https://www.volkswagenag.com) Center of Excellence for Battery Systems for sponsoring development!
184+
- Add strict option to custom bundle command [[#6557](https://github.com/plotly/plotly.js/pull/6557)],
185+
with thanks to @CallumNZ for the contribution!
186+
187+
### Fixed
188+
- Fix dragging of legend when xanchor is not 'left' or yanchor is not 'top' [[#6528](https://github.com/plotly/plotly.js/pull/6528)],
189+
with thanks to @bmaranville for the contribution!
190+
- Fix heatmap rendering bug and improve performance when `zsmooth` is set to "fast" [[#6565](https://github.com/plotly/plotly.js/pull/6565)],
191+
with thanks to @lvlte for the contribution!
192+
193+
12194
## [2.20.0] -- 2023-03-15
13195

14196
### Added

Diff for: CUSTOM_BUNDLE.md

+5
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ Or use `transforms none` to exclude them all.
3030
npm run custom-bundle -- --transforms none
3131
```
3232

33+
Use the `strict` option to use strict trace types where possible.
34+
```sh
35+
npm run custom-bundle -- --traces scatter,scattergl --strict
36+
```
37+
3338
Use the `out` option to change the bundle filename (default `custom`).
3439
The new bundle will be created in the `dist/` directory and named `plotly-<out>.min.js` or `plotly-<out>.js` if unminified.
3540
```sh

0 commit comments

Comments
 (0)