@@ -228,110 +228,6 @@ jobs:
228228 git clone --depth 1 https://github.com/plotly/dash-core-components.git
229229 cd dash-core-components && npm ci && npm run build && python setup.py sdist && cd ..
230230
231- build-dashr :
232- working_directory : ~/dashr
233- docker :
234- - image : plotly/dashr:ci
235- auth :
236- username : dashautomation
237- password : $DASH_PAT_DOCKERHUB
238- environment :
239- PERCY_PARALLEL_TOTAL : -1
240- PYVERSION : python39
241- _R_CHECK_FORCE_SUGGESTS_ : FALSE
242-
243- steps :
244- - checkout
245- - run :
246- name : 🏭 clone and npm build core for R
247- command : |
248- python -m venv venv
249- . venv/bin/activate
250- npm ci
251- pip install --no-cache-dir --upgrade -e .[dev,testing] --progress-bar off
252- git clone --depth 1 https://github.com/plotly/dashR.git -b dev dashR
253- git clone --depth 1 https://github.com/plotly/dash-html-components.git
254- git clone --depth 1 https://github.com/plotly/dash-core-components.git
255- git clone --depth 1 https://github.com/plotly/dash-table.git
256- shopt -s extglob
257- cd dash-html-components; npm ci && npm run build; rm -rf !(.|..|DESCRIPTION|LICENSE.txt|LICENSE|NAMESPACE|.Rbuildignore|R|man|inst|vignettes|build)
258- cd ../dash-core-components; npm ci && npm run build; rm -rf !(.|..|DESCRIPTION|LICENSE.txt|LICENSE|NAMESPACE|.Rbuildignore|R|man|inst|vignettes|build)
259- cd ../dash-table; npm ci && npm run build; rm -rf !(.|..|DESCRIPTION|LICENSE.txt|LICENSE|NAMESPACE|.Rbuildignore|R|man|inst|vignettes|build); cd ..
260-
261- - run :
262- name : 🎛 set environment variables
263- command : |
264- Rscript --vanilla \
265- -e 'dash_dsc <- read.dcf("dashR/DESCRIPTION")' \
266- -e 'cat(sprintf("export DASH_TARBALL=%s_%s.tar.gz\n", dash_dsc[,"Package"], dash_dsc[,"Version"]))' \
267- -e 'cat(sprintf("export DASH_CHECK_DIR=%s.Rcheck\n", dash_dsc[,"Package"]))' \
268- -e 'dhc_dsc <- read.dcf("dash-html-components/DESCRIPTION")' \
269- -e 'cat(sprintf("export DHC_TARBALL=%s_%s.tar.gz\n", dhc_dsc[,"Package"], dhc_dsc[,"Version"]))' \
270- -e 'cat(sprintf("export DHC_CHECK_DIR=%s.Rcheck\n", dhc_dsc[,"Package"]))' \
271- -e 'dcc_dsc <- read.dcf("dash-core-components/DESCRIPTION")' \
272- -e 'cat(sprintf("export DCC_TARBALL=%s_%s.tar.gz\n", dcc_dsc[,"Package"], dcc_dsc[,"Version"]))' \
273- -e 'cat(sprintf("export DCC_CHECK_DIR=%s.Rcheck\n", dcc_dsc[,"Package"]))' \
274- -e 'dt_dsc <- read.dcf("dash-table/DESCRIPTION")' \
275- -e 'cat(sprintf("export DT_TARBALL=%s_%s.tar.gz\n", dt_dsc[,"Package"], dt_dsc[,"Version"]))' \
276- -e 'cat(sprintf("export DT_CHECK_DIR=%s.Rcheck\n", dt_dsc[,"Package"]))' \
277- >> ${BASH_ENV}
278-
279- - run :
280- name : ️📋 run CRAN package checks
281- command : |
282- R CMD build dash-core-components
283- R CMD build dash-html-components
284- R CMD build dash-table
285- R CMD build dashR
286- sudo R CMD INSTALL dash-core-components
287- sudo R CMD INSTALL dash-html-components
288- sudo R CMD INSTALL dash-table
289- sudo R CMD INSTALL dashR
290- R CMD check "${DHC_TARBALL}" --as-cran --no-manual
291- R CMD check "${DCC_TARBALL}" --as-cran --no-manual
292- R CMD check "${DT_TARBALL}" --as-cran --no-manual
293- R CMD check "${DASH_TARBALL}" --as-cran --no-manual
294-
295- - run :
296- name : 🕵 detect failures
297- command : |
298- Rscript -e "message(devtools::check_failures(path = '${DHC_CHECK_DIR}'))"
299- Rscript -e "message(devtools::check_failures(path = '${DCC_CHECK_DIR}'))"
300- Rscript -e "message(devtools::check_failures(path = '${DT_CHECK_DIR}'))"
301- Rscript -e "message(devtools::check_failures(path = '${DASH_CHECK_DIR}'))"
302- # warnings are errors; enabled for stricter CRAN checks, disable if noisy
303- # if grep -q -R "WARNING" "${DHC_CHECK_DIR}/00check.log"; then exit 1; fi
304- # if grep -q -R "WARNING" "${DCC_CHECK_DIR}/00check.log"; then exit 1; fi
305- # if grep -q -R "WARNING" "${DT_CHECK_DIR}/00check.log"; then exit 1; fi
306- # if grep -q -R "WARNING" "${DASH_CHECK_DIR}/00check.log"; then exit 1; fi
307-
308- - run :
309- name : 🔎 run unit tests
310- command : |
311- # unfortunately testthat does not and will not support returning a status
312- # code other than success, even when tests fail -- this is a workaround
313- 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)}'
314-
315- - run :
316- name : ⚙️ Integration tests
317- command : |
318- python -m venv venv
319- . venv/bin/activate
320- npm run setup-tests.R
321- export PATH=$PATH:/home/circleci/.local/bin/
322- pytest --nopercyfinalize --junitxml=test-reports/dashr.xml dashR/tests/integration/dopsa/
323- - store_artifacts :
324- path : test-reports
325- - store_test_results :
326- path : test-reports
327- - store_artifacts :
328- path : /tmp/dash_artifacts
329- - run :
330- name : 🦔 percy finalize
331- command : npx percy finalize --all
332- when : on_fail
333-
334-
335231 test-39 : &test
336232 working_directory : ~/dash
337233 docker :
@@ -407,14 +303,12 @@ workflows:
407303 - build-core-39
408304 - build-windows-39
409305 - build-misc-39
410- - build-dashr
411306 - test-39 :
412307 requires :
413308 - build-core-39
414309 - build-misc-39
415310 - percy-finalize :
416311 requires :
417- - build-dashr
418312 - test-39
419313 - artifacts :
420314 requires :
0 commit comments