diff --git a/.circleci/config.yml b/.circleci/config.yml index f1d5e193cb..2fa41ef72f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,6 @@ -version: 2 +version: 2.1 +orbs: + win: circleci/windows@2.4.0 jobs: percy-finalize: docker: @@ -183,6 +185,45 @@ jobs: environment: PYVERSION: python27 + build-windows-37: &build-windows + working_directory: ~/dash + executor: + name: win/default + shell: bash.exe + environment: + PYVERSION: python37 + steps: + - checkout + - run: echo $PYVERSION > ver.txt + - restore_cache: + key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requires-dev.txt" }}-{{ checksum "requires-install.txt" }}-{{ checksum "requires-testing.txt" }} + - run: + name: ️️🏗️ pip dev requirements + command: | + pip install --upgrade virtualenv + virtualenv venv + source venv/Scripts/activate + sed -i '/dash-/d' requires-install.txt + pip install -e . --no-cache-dir -r requires-install.txt -r requires-dev.txt -r requires-testing.txt --progress-bar off + - save_cache: + key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requires-dev.txt" }}-{{ checksum "requires-install.txt" }}-{{ checksum "requires-testing.txt" }} + paths: + - venv + - run: + name: ️️🏗️ build core + command: | + source venv/Scripts/activate && pip install --no-cache-dir --upgrade -e . --progress-bar off && mkdir packages + cd dash-renderer && renderer build && python setup.py sdist && mv dist/* ../packages/ && cd .. + git clone --depth 1 https://github.com/plotly/dash-core-components.git + cd dash-core-components && npm ci && npm run build && python setup.py sdist && mv dist/* ../packages/ && cd .. + git clone --depth 1 https://github.com/plotly/dash-renderer-test-components + cd dash-renderer-test-components && npm ci && npm run build:all && python setup.py sdist && mv dist/* ../packages/ && cd .. + ls -la packages + - persist_to_workspace: + root: ~/dash + paths: + - packages/*.tar.gz + test-37: &test working_directory: ~/dash docker: @@ -246,6 +287,7 @@ workflows: jobs: - lint-unit-37 - build-core-37 + - build-windows-37 - build-misc-37 - test-37: requires: