]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
ci: use workflow to parallelize jobs
authorEvan You <yyx990803@gmail.com>
Fri, 20 Dec 2019 14:40:34 +0000 (09:40 -0500)
committerEvan You <yyx990803@gmail.com>
Fri, 20 Dec 2019 14:40:38 +0000 (09:40 -0500)
.circleci/config.yml

index 4155806da500dcc2c7f737233aeb37258b447c84..61c065ab7027dff70f2e046d3c30463d8afb1b87 100644 (file)
@@ -1,37 +1,64 @@
 version: 2
-jobs:
-  build:
-    docker:
-      - image: vuejs/ci
 
-    working_directory: ~/repo
+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
 
-      - run:
-          name: Run Tests
-          command: yarn test --ci --runInBand
+  test:
+    <<: *defaults
+    steps:
+      - attach_workspace:
+          at: ~/project
+      - run: yarn test --ci --runInBand
 
-      - run:
-          name: Test d.ts
-          command: yarn test-dts
+  test-dts:
+    <<: *defaults
+    steps:
+      - attach_workspace:
+          at: ~/project
+      - run: yarn test-dts
 
-      - run:
-          name: Check size
-          command: yarn size
+  check-size:
+    <<: *defaults
+    steps:
+      - attach_workspace:
+          at: ~/project
+      - run: yarn size
+
+workflows:
+  version: 2
+  ci:
+    jobs:
+      - install
+      - test:
+          requires:
+            - install
+      - test-dts:
+          requires:
+            - install
+      - check-size:
+          requires:
+            - install