Skip to content

Commit ffb1b7c

Browse files
committed
Merge branch 'dev' into master-1.21.0
2 parents 49a80bb + 357f221 commit ffb1b7c

File tree

256 files changed

+26070
-164315
lines changed

Some content is hidden

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

256 files changed

+26070
-164315
lines changed

.circleci/config.yml

Lines changed: 33 additions & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ jobs:
1313

1414
artifacts:
1515
docker:
16-
- image: circleci/python:3.7.9-stretch-node-browsers
16+
- image: circleci/python:3.9.2-buster-node-browsers
1717
auth:
1818
username: dashautomation
1919
password: $DASH_PAT_DOCKERHUB
2020
environment:
21-
PYVERSION: python37
21+
PYVERSION: python39
2222
steps:
2323
- checkout
2424
- run: echo $PYVERSION > ver.txt
@@ -30,16 +30,16 @@ jobs:
3030
path: ~/dash/packages
3131
destination: /tmp/packages
3232

33-
lint-unit-37: &lint-unit
33+
lint-unit-39: &lint-unit
3434
working_directory: ~/dash
3535
docker:
36-
- image: circleci/python:3.7.9-stretch-node-browsers
36+
- image: circleci/python:3.9.2-buster-node-browsers
3737
auth:
3838
username: dashautomation
3939
password: $DASH_PAT_DOCKERHUB
4040
environment:
41-
PYLINTRC: .pylintrc37
42-
PYVERSION: python37
41+
PYLINTRC: .pylintrc39
42+
PYVERSION: python39
4343

4444
steps:
4545
- checkout
@@ -61,6 +61,7 @@ jobs:
6161
command: |
6262
. venv/bin/activate
6363
set -eo pipefail
64+
cd dash/dash-renderer && renderer build && cd ../../
6465
pip install -e . --progress-bar off && pip list | grep dash
6566
npm install --production && npm run initialize
6667
npm run lint
@@ -73,7 +74,7 @@ jobs:
7374
lint-unit-36:
7475
<<: *lint-unit
7576
docker:
76-
- image: circleci/python:3.6.12-stretch-node-browsers
77+
- image: circleci/python:3.6.13-stretch-node-browsers
7778
auth:
7879
username: dashautomation
7980
password: $DASH_PAT_DOCKERHUB
@@ -92,15 +93,15 @@ jobs:
9293
PYLINTRC: .pylintrc
9394
PYVERSION: python27
9495

95-
build-core-37: &build-core
96+
build-core-39: &build-core
9697
working_directory: ~/dash
9798
docker:
98-
- image: circleci/python:3.7.9-stretch-node-browsers
99+
- image: circleci/python:3.9.2-buster-node-browsers
99100
auth:
100101
username: dashautomation
101102
password: $DASH_PAT_DOCKERHUB
102103
environment:
103-
PYVERSION: python37
104+
PYVERSION: python39
104105
steps:
105106
- checkout
106107
- run: echo $PYVERSION > ver.txt
@@ -121,7 +122,7 @@ jobs:
121122
name: ️️🏗️ build core
122123
command: |
123124
. venv/bin/activate && pip install --no-cache-dir --upgrade -e . --progress-bar off && mkdir packages
124-
cd dash-renderer && renderer build && python setup.py sdist && mv dist/* ../packages/ && cd ..
125+
cd dash/dash-renderer && renderer build && cd ../../ && python setup.py sdist && mv dist/* packages/
125126
git clone --depth 1 https://github.com/plotly/dash-core-components.git
126127
cd dash-core-components && npm ci && npm run build && python setup.py sdist && mv dist/* ../packages/ && cd ..
127128
ls -la packages
@@ -133,7 +134,7 @@ jobs:
133134
build-core-36:
134135
<<: *build-core
135136
docker:
136-
- image: circleci/python:3.6.12-stretch-node-browsers
137+
- image: circleci/python:3.6.13-stretch-node-browsers
137138
auth:
138139
username: dashautomation
139140
password: $DASH_PAT_DOCKERHUB
@@ -150,15 +151,15 @@ jobs:
150151
environment:
151152
PYVERSION: python27
152153

153-
build-misc-37: &build-misc
154+
build-misc-39: &build-misc
154155
working_directory: ~/dash
155156
docker:
156-
- image: circleci/python:3.7.9-stretch-node-browsers
157+
- image: circleci/python:3.9.2-buster-node-browsers
157158
auth:
158159
username: dashautomation
159160
password: $DASH_PAT_DOCKERHUB
160161
environment:
161-
PYVERSION: python37
162+
PYVERSION: python39
162163

163164
steps:
164165
- checkout
@@ -192,7 +193,7 @@ jobs:
192193
build-misc-36:
193194
<<: *build-misc
194195
docker:
195-
- image: circleci/python:3.6.12-stretch-node-browsers
196+
- image: circleci/python:3.6.13-stretch-node-browsers
196197
auth:
197198
username: dashautomation
198199
password: $DASH_PAT_DOCKERHUB
@@ -209,144 +210,35 @@ jobs:
209210
environment:
210211
PYVERSION: python27
211212

212-
build-windows-37:
213+
build-windows-39:
213214
working_directory: ~/dash
214215
executor:
215216
name: win/default
216217
shell: bash.exe
217218
environment:
218-
PYVERSION: python37
219+
PYVERSION: python39
219220
steps:
220221
- checkout
221222
- run: echo $PYVERSION > ver.txt
222223
- run:
223224
name: ️️🏗️ build core
224225
command: |
225226
pip install --no-cache-dir --upgrade -e .[dev,testing] --progress-bar off
226-
cd dash-renderer && renderer build && python setup.py sdist && mv dist/* ../packages/ && cd ..
227+
cd dash/dash-renderer && renderer build && cd ../../ && python setup.py sdist && mv dist/* packages/
227228
git clone --depth 1 https://github.com/plotly/dash-core-components.git
228229
cd dash-core-components && npm ci && npm run build && python setup.py sdist && cd ..
229230
230-
build-dashr:
231-
working_directory: ~/dashr
232-
docker:
233-
- image: plotly/dashr:ci
234-
auth:
235-
username: dashautomation
236-
password: $DASH_PAT_DOCKERHUB
237-
environment:
238-
PERCY_PARALLEL_TOTAL: -1
239-
PYVERSION: python37
240-
_R_CHECK_FORCE_SUGGESTS_: FALSE
241-
242-
steps:
243-
- checkout
244-
- run:
245-
name: 🏭 clone and npm build core for R
246-
command: |
247-
python -m venv venv
248-
. venv/bin/activate
249-
npm ci
250-
pip install --no-cache-dir --upgrade -e .[dev,testing] --progress-bar off
251-
git clone --depth 1 https://github.com/plotly/dashR.git -b dev dashR
252-
git clone --depth 1 https://github.com/plotly/dash-html-components.git
253-
git clone --depth 1 https://github.com/plotly/dash-core-components.git
254-
git clone --depth 1 https://github.com/plotly/dash-table.git
255-
shopt -s extglob
256-
cd dash-html-components; npm ci && npm run build; rm -rf !(.|..|DESCRIPTION|LICENSE.txt|LICENSE|NAMESPACE|.Rbuildignore|R|man|inst|vignettes|build)
257-
cd ../dash-core-components; npm ci && npm run build; rm -rf !(.|..|DESCRIPTION|LICENSE.txt|LICENSE|NAMESPACE|.Rbuildignore|R|man|inst|vignettes|build)
258-
cd ../dash-table; npm ci && npm run build; rm -rf !(.|..|DESCRIPTION|LICENSE.txt|LICENSE|NAMESPACE|.Rbuildignore|R|man|inst|vignettes|build); cd ..
259-
260-
- run:
261-
name: 🔧 fix up dash metadata
262-
command: |
263-
sudo Rscript dashR/tests/circleci/fixup_metadata.R
264-
265-
- run:
266-
name: 🎛 set environment variables
267-
command: |
268-
Rscript --vanilla \
269-
-e 'dash_dsc <- read.dcf("dashR/DESCRIPTION")' \
270-
-e 'cat(sprintf("export DASH_TARBALL=%s_%s.tar.gz\n", dash_dsc[,"Package"], dash_dsc[,"Version"]))' \
271-
-e 'cat(sprintf("export DASH_CHECK_DIR=%s.Rcheck\n", dash_dsc[,"Package"]))' \
272-
-e 'dhc_dsc <- read.dcf("dash-html-components/DESCRIPTION")' \
273-
-e 'cat(sprintf("export DHC_TARBALL=%s_%s.tar.gz\n", dhc_dsc[,"Package"], dhc_dsc[,"Version"]))' \
274-
-e 'cat(sprintf("export DHC_CHECK_DIR=%s.Rcheck\n", dhc_dsc[,"Package"]))' \
275-
-e 'dcc_dsc <- read.dcf("dash-core-components/DESCRIPTION")' \
276-
-e 'cat(sprintf("export DCC_TARBALL=%s_%s.tar.gz\n", dcc_dsc[,"Package"], dcc_dsc[,"Version"]))' \
277-
-e 'cat(sprintf("export DCC_CHECK_DIR=%s.Rcheck\n", dcc_dsc[,"Package"]))' \
278-
-e 'dt_dsc <- read.dcf("dash-table/DESCRIPTION")' \
279-
-e 'cat(sprintf("export DT_TARBALL=%s_%s.tar.gz\n", dt_dsc[,"Package"], dt_dsc[,"Version"]))' \
280-
-e 'cat(sprintf("export DT_CHECK_DIR=%s.Rcheck\n", dt_dsc[,"Package"]))' \
281-
>> ${BASH_ENV}
282-
283-
- run:
284-
name: ️📋 run CRAN package checks
285-
command: |
286-
R CMD build dash-core-components
287-
R CMD build dash-html-components
288-
R CMD build dash-table
289-
R CMD build dashR
290-
sudo R CMD INSTALL dash-core-components
291-
sudo R CMD INSTALL dash-html-components
292-
sudo R CMD INSTALL dash-table
293-
sudo R CMD INSTALL dashR
294-
R CMD check "${DHC_TARBALL}" --as-cran --no-manual
295-
R CMD check "${DCC_TARBALL}" --as-cran --no-manual
296-
R CMD check "${DT_TARBALL}" --as-cran --no-manual
297-
R CMD check "${DASH_TARBALL}" --as-cran --no-manual
298-
299-
- run:
300-
name: 🕵 detect failures
301-
command: |
302-
Rscript -e "message(devtools::check_failures(path = '${DHC_CHECK_DIR}'))"
303-
Rscript -e "message(devtools::check_failures(path = '${DCC_CHECK_DIR}'))"
304-
Rscript -e "message(devtools::check_failures(path = '${DT_CHECK_DIR}'))"
305-
Rscript -e "message(devtools::check_failures(path = '${DASH_CHECK_DIR}'))"
306-
# warnings are errors; enabled for stricter CRAN checks, disable if noisy
307-
# if grep -q -R "WARNING" "${DHC_CHECK_DIR}/00check.log"; then exit 1; fi
308-
# if grep -q -R "WARNING" "${DCC_CHECK_DIR}/00check.log"; then exit 1; fi
309-
# if grep -q -R "WARNING" "${DT_CHECK_DIR}/00check.log"; then exit 1; fi
310-
# if grep -q -R "WARNING" "${DASH_CHECK_DIR}/00check.log"; then exit 1; fi
311-
312-
- run:
313-
name: 🔎 run unit tests
314-
command: |
315-
# unfortunately testthat does not and will not support returning a status
316-
# code other than success, even when tests fail -- this is a workaround
317-
sudo Rscript -e 'res=devtools::test("dashR/tests/", reporter=default_reporter());df=as.data.frame(res);if(sum(df$failed) > 0 || any(df$error)) {q(status=1)}'
318-
319-
- run:
320-
name: ⚙️ Integration tests
321-
command: |
322-
python -m venv venv
323-
. venv/bin/activate
324-
npm run setup-tests.R
325-
export PATH=$PATH:/home/circleci/.local/bin/
326-
pytest --nopercyfinalize --junitxml=test-reports/dashr.xml dashR/tests/integration/dopsa/
327-
- store_artifacts:
328-
path: test-reports
329-
- store_test_results:
330-
path: test-reports
331-
- store_artifacts:
332-
path: /tmp/dash_artifacts
333-
- run:
334-
name: 🦔 percy finalize
335-
command: npx percy finalize --all
336-
when: on_fail
337-
338-
339-
test-37: &test
231+
test-39: &test
340232
working_directory: ~/dash
341233
docker:
342-
- image: circleci/python:3.7.9-stretch-node-browsers
234+
- image: circleci/python:3.9.2-buster-node-browsers
343235
auth:
344236
username: dashautomation
345237
password: $DASH_PAT_DOCKERHUB
346238
environment:
347239
PERCY_PARALLEL_TOTAL: -1
348240
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: True
349-
PYVERSION: python37
241+
PYVERSION: python39
350242
parallelism: 3
351243
steps:
352244
- checkout
@@ -384,7 +276,7 @@ jobs:
384276
test-36:
385277
<<: *test
386278
docker:
387-
- image: circleci/python:3.6.12-stretch-node-browsers
279+
- image: circleci/python:3.6.13-stretch-node-browsers
388280
auth:
389281
username: dashautomation
390282
password: $DASH_PAT_DOCKERHUB
@@ -405,21 +297,19 @@ jobs:
405297

406298
workflows:
407299
version: 2
408-
python3.7:
300+
python3.9:
409301
jobs:
410-
- lint-unit-37
411-
- build-core-37
412-
- build-windows-37
413-
- build-misc-37
414-
- build-dashr
415-
- test-37:
302+
- lint-unit-39
303+
- build-core-39
304+
- build-windows-39
305+
- build-misc-39
306+
- test-39:
416307
requires:
417-
- build-core-37
418-
- build-misc-37
308+
- build-core-39
309+
- build-misc-39
419310
- percy-finalize:
420311
requires:
421-
- build-dashr
422-
- test-37
312+
- test-39
423313
- artifacts:
424314
requires:
425315
- percy-finalize

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
github: plotly
2-
custom: https://plot.ly/products/consulting-and-oem/
2+
custom: https://plotly.com/products/consulting-and-oem/

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ coverage.xml
4242
# Distribution / packaging
4343
.Python
4444
build/
45+
dash/deps/
4546
develop-eggs/
4647
dist/
4748
downloads/

.husky/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npm run lint

.huskyrc

Lines changed: 0 additions & 5 deletions
This file was deleted.

.pylintrc37 renamed to .pylintrc39

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ disable=invalid-name,
8787
buffer-builtin,
8888
cmp-builtin,
8989
coerce-builtin,
90+
consider-using-with,
9091
execfile-builtin,
9192
file-builtin,
9293
long-builtin,

0 commit comments

Comments
 (0)