@@ -13,12 +13,12 @@ jobs:
13
13
14
14
artifacts :
15
15
docker :
16
- - image : circleci/python:3.7.9-stretch -node-browsers
16
+ - image : circleci/python:3.9.2-buster -node-browsers
17
17
auth :
18
18
username : dashautomation
19
19
password : $DASH_PAT_DOCKERHUB
20
20
environment :
21
- PYVERSION : python37
21
+ PYVERSION : python39
22
22
steps :
23
23
- checkout
24
24
- run : echo $PYVERSION > ver.txt
@@ -30,16 +30,16 @@ jobs:
30
30
path : ~/dash/packages
31
31
destination : /tmp/packages
32
32
33
- lint-unit-37 : &lint-unit
33
+ lint-unit-39 : &lint-unit
34
34
working_directory : ~/dash
35
35
docker :
36
- - image : circleci/python:3.7.9-stretch -node-browsers
36
+ - image : circleci/python:3.9.2-buster -node-browsers
37
37
auth :
38
38
username : dashautomation
39
39
password : $DASH_PAT_DOCKERHUB
40
40
environment :
41
- PYLINTRC : .pylintrc37
42
- PYVERSION : python37
41
+ PYLINTRC : .pylintrc39
42
+ PYVERSION : python39
43
43
44
44
steps :
45
45
- checkout
61
61
command : |
62
62
. venv/bin/activate
63
63
set -eo pipefail
64
+ cd dash/dash-renderer && renderer build && cd ../../
64
65
pip install -e . --progress-bar off && pip list | grep dash
65
66
npm install --production && npm run initialize
66
67
npm run lint
73
74
lint-unit-36 :
74
75
<< : *lint-unit
75
76
docker :
76
- - image : circleci/python:3.6.12 -stretch-node-browsers
77
+ - image : circleci/python:3.6.13 -stretch-node-browsers
77
78
auth :
78
79
username : dashautomation
79
80
password : $DASH_PAT_DOCKERHUB
@@ -92,15 +93,15 @@ jobs:
92
93
PYLINTRC : .pylintrc
93
94
PYVERSION : python27
94
95
95
- build-core-37 : &build-core
96
+ build-core-39 : &build-core
96
97
working_directory : ~/dash
97
98
docker :
98
- - image : circleci/python:3.7.9-stretch -node-browsers
99
+ - image : circleci/python:3.9.2-buster -node-browsers
99
100
auth :
100
101
username : dashautomation
101
102
password : $DASH_PAT_DOCKERHUB
102
103
environment :
103
- PYVERSION : python37
104
+ PYVERSION : python39
104
105
steps :
105
106
- checkout
106
107
- run : echo $PYVERSION > ver.txt
@@ -121,7 +122,7 @@ jobs:
121
122
name : ️️🏗️ build core
122
123
command : |
123
124
. 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/
125
126
git clone --depth 1 https://github.com/plotly/dash-core-components.git
126
127
cd dash-core-components && npm ci && npm run build && python setup.py sdist && mv dist/* ../packages/ && cd ..
127
128
ls -la packages
@@ -133,7 +134,7 @@ jobs:
133
134
build-core-36 :
134
135
<< : *build-core
135
136
docker :
136
- - image : circleci/python:3.6.12 -stretch-node-browsers
137
+ - image : circleci/python:3.6.13 -stretch-node-browsers
137
138
auth :
138
139
username : dashautomation
139
140
password : $DASH_PAT_DOCKERHUB
@@ -150,15 +151,15 @@ jobs:
150
151
environment :
151
152
PYVERSION : python27
152
153
153
- build-misc-37 : &build-misc
154
+ build-misc-39 : &build-misc
154
155
working_directory : ~/dash
155
156
docker :
156
- - image : circleci/python:3.7.9-stretch -node-browsers
157
+ - image : circleci/python:3.9.2-buster -node-browsers
157
158
auth :
158
159
username : dashautomation
159
160
password : $DASH_PAT_DOCKERHUB
160
161
environment :
161
- PYVERSION : python37
162
+ PYVERSION : python39
162
163
163
164
steps :
164
165
- checkout
@@ -192,7 +193,7 @@ jobs:
192
193
build-misc-36 :
193
194
<< : *build-misc
194
195
docker :
195
- - image : circleci/python:3.6.12 -stretch-node-browsers
196
+ - image : circleci/python:3.6.13 -stretch-node-browsers
196
197
auth :
197
198
username : dashautomation
198
199
password : $DASH_PAT_DOCKERHUB
@@ -209,144 +210,35 @@ jobs:
209
210
environment :
210
211
PYVERSION : python27
211
212
212
- build-windows-37 :
213
+ build-windows-39 :
213
214
working_directory : ~/dash
214
215
executor :
215
216
name : win/default
216
217
shell : bash.exe
217
218
environment :
218
- PYVERSION : python37
219
+ PYVERSION : python39
219
220
steps :
220
221
- checkout
221
222
- run : echo $PYVERSION > ver.txt
222
223
- run :
223
224
name : ️️🏗️ build core
224
225
command : |
225
226
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/
227
228
git clone --depth 1 https://github.com/plotly/dash-core-components.git
228
229
cd dash-core-components && npm ci && npm run build && python setup.py sdist && cd ..
229
230
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
340
232
working_directory : ~/dash
341
233
docker :
342
- - image : circleci/python:3.7.9-stretch -node-browsers
234
+ - image : circleci/python:3.9.2-buster -node-browsers
343
235
auth :
344
236
username : dashautomation
345
237
password : $DASH_PAT_DOCKERHUB
346
238
environment :
347
239
PERCY_PARALLEL_TOTAL : -1
348
240
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD : True
349
- PYVERSION : python37
241
+ PYVERSION : python39
350
242
parallelism : 3
351
243
steps :
352
244
- checkout
@@ -384,7 +276,7 @@ jobs:
384
276
test-36 :
385
277
<< : *test
386
278
docker :
387
- - image : circleci/python:3.6.12 -stretch-node-browsers
279
+ - image : circleci/python:3.6.13 -stretch-node-browsers
388
280
auth :
389
281
username : dashautomation
390
282
password : $DASH_PAT_DOCKERHUB
@@ -405,21 +297,19 @@ jobs:
405
297
406
298
workflows :
407
299
version : 2
408
- python3.7 :
300
+ python3.9 :
409
301
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 :
416
307
requires :
417
- - build-core-37
418
- - build-misc-37
308
+ - build-core-39
309
+ - build-misc-39
419
310
- percy-finalize :
420
311
requires :
421
- - build-dashr
422
- - test-37
312
+ - test-39
423
313
- artifacts :
424
314
requires :
425
315
- percy-finalize
0 commit comments