diff --git a/.circleci/config.yml b/.circleci/config.yml index dd03e08..9027fd6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,32 +1,57 @@ version: 2 +templates: + steps: &steps + - checkout + - run: + name: "Create artifacts directory" + command: mkdir /tmp/artifacts + - restore_cache: + key: v1-dependencies-{{ checksum "package.json" }} + + - run: npm install + + - save_cache: + paths: + - node_modules + key: v1-dependencies-{{ checksum "package.json" }} + + - run: mkdir -p /tmp/artifacts/logs + - run: npm run build + - run: npm run lint + - run: npm run lint-styles + - run: DOCKER_HOST=localhost npm test + - run: ./node_modules/.bin/istanbul report --include /tmp/artifacts/coverage/coverage.json --dir /tmp/artifacts/coverage html lcov + - store_artifacts: + path: /tmp/artifacts + destination: /artifacts jobs: - build: + build-linux-node-v6: + docker: + # specify the version you desire here + - image: node:6 + - image: selenium/standalone-chrome:3.1.0 + working_directory: ~/repo-linux-node-v6 + steps: *steps + build-linux-node-v8: docker: # specify the version you desire here - image: node:8 - - image: selenium/standalone-chrome:3.8.1 - working_directory: ~/repo - steps: - - checkout - - run: - name: "Create artifacts directory" - command: mkdir /tmp/artifacts - - restore_cache: - key: v1-dependencies-{{ checksum "package.json" }} + - image: selenium/standalone-chrome:3.1.0 + working_directory: ~/repo-linux-node-v8 + steps: *steps + build-linux-node-v9: + docker: + # specify the version you desire here + - image: node:9 + - image: selenium/standalone-chrome:3.1.0 + working_directory: ~/repo-linux-node-v9 + steps: *steps - - run: npm install +workflows: + version: 2 + build: + jobs: + - build-linux-node-v8 + # - build-linux-node-v6 + # - build-linux-node-v9 - - save_cache: - paths: - - node_modules - key: v1-dependencies-{{ checksum "package.json" }} - - - run: mkdir -p /tmp/artifacts/logs - - run: npm run build - - run: npm run lint - - run: npm run lint-styles - - run: DOCKER_HOST=localhost npm test - - run: ./node_modules/.bin/istanbul report --include /tmp/artifacts/coverage/coverage.json --dir /tmp/artifacts/coverage html lcov - - store_artifacts: - path: /tmp/artifacts - destination: /artifacts