version: 2 references: container_config: &container_config docker: - image: circleci/node:lts working_directory: ~/ant-design attach_workspace: &attach_workspace attach_workspace: at: ~/ant-design react_16: &react_16 environment: REACT: 16 workflow: &workflow jobs: - setup: filters: branches: ignore: gh-pages - dist: requires: - setup - compile: requires: - setup - lint: requires: - setup - test_dist: requires: - dist - test_lib: requires: - compile - test_es: requires: - compile - test_dom: requires: - setup - test_node: requires: - setup - check_metadata: requires: - setup jobs: setup: <<: *container_config steps: - checkout - run: node -v - run: npm -v - run: npm install - run: command: | set +eo npm ls true - persist_to_workspace: root: ~/ant-design paths: - node_modules - store_artifacts: path: package-lock.json dist: <<: *container_config steps: - checkout - *attach_workspace - run: npm run dist - run: node ./tests/dekko/dist.test.js - run: npm run bundlesize - persist_to_workspace: root: ~/ant-design paths: - dist compile: <<: *container_config steps: - checkout - *attach_workspace - run: npm run compile - run: node ./tests/dekko/lib.test.js - persist_to_workspace: root: ~/ant-design paths: - lib - es lint: <<: *container_config steps: - checkout - *attach_workspace - run: npm run lint test_dist: <<: *container_config <<: *react_16 steps: - checkout - *attach_workspace - run: command: npm test -- -w 1 environment: LIB_DIR: dist test_lib: <<: *container_config <<: *react_16 steps: - checkout - *attach_workspace - run: command: npm test -- -w 1 environment: LIB_DIR: lib test_es: <<: *container_config <<: *react_16 steps: - checkout - *attach_workspace - run: command: npm test -- -w 1 environment: LIB_DIR: es test_dom: <<: *container_config <<: *react_16 steps: - checkout - *attach_workspace - run: npm test -- -w 1 --coverage - run: bash <(curl -s https://codecov.io/bash) test_node: <<: *container_config <<: *react_16 steps: - checkout - *attach_workspace - run: npm run test-node -- -w 1 check_metadata: <<: *container_config steps: - checkout - *attach_workspace - run: node ./scripts/check-demo.js workflows: version: 2 build_test: <<: *workflow nightly: <<: *workflow triggers: - schedule: cron: '0 0 * * *' filters: branches: only: - master