defaults: &defaults
docker:
- image: vuejs/ci
- working_directory: ~/project/vue
-jobs:
- install:
- <<: *defaults
- steps:
- - checkout
- - restore_cache:
- keys:
- - v1-dependencies-{{ checksum "yarn.lock" }}
- - v1-dependencies-
- - run:
- name: Install Dependencies
- command: yarn --frozen-lockfile
- - save_cache:
- paths:
- - node_modules
- - ~/.cache/yarn
- key: v1-dependencies-{{ checksum "yarn.lock" }}
- - persist_to_workspace:
- root: ~/project
- paths:
- - vue
+step_restore_cache: &restore_cache
+ restore_cache:
+ keys:
+ - v1-dependencies-{{ checksum "yarn.lock" }}
+ - v1-dependencies-
+
+step_install_deps: &install_deps
+ run:
+ name: Install Dependencies
+ command: yarn --frozen-lockfile
+step_save_cache: &save_cache
+ save_cache:
+ paths:
+ - node_modules
+ - packages/compiler-core/node_modules
+ - packages/compiler-sfc/node_modules
+ - packages/vue/node_modules
+ - ~/.cache/yarn
+ key: v1-dependencies-{{ checksum "yarn.lock" }}
+
+jobs:
test:
<<: *defaults
steps:
- - attach_workspace:
- at: ~/project
+ - checkout
+ - *restore_cache
+ - *install_deps
+ - *save_cache
- run: yarn test --ci --runInBand
test-dts:
<<: *defaults
steps:
- - attach_workspace:
- at: ~/project
+ - checkout
+ - *restore_cache
+ - *install_deps
+ - *save_cache
- run: yarn test-dts
check-size:
<<: *defaults
steps:
- - attach_workspace:
- at: ~/project
+ - checkout
+ - *restore_cache
+ - *install_deps
+ - *save_cache
- run: yarn size
workflows:
version: 2
ci:
jobs:
- - install
- - test:
- requires:
- - install
- - test-dts:
- requires:
- - install
- - check-size:
- requires:
- - install
+ - test
+ - test-dts
+ - check-size