From fd2dfcc4f2bed82eab41bda28f0627a6d98f7fc3 Mon Sep 17 00:00:00 2001 From: Danny Coates Date: Sun, 25 Feb 2018 15:44:46 -0800 Subject: [PATCH] circleci v2 --- circle.yml | 125 +++++++++++++++++++++++++++++++++++++++------------ package.json | 1 + 2 files changed, 98 insertions(+), 28 deletions(-) diff --git a/circle.yml b/circle.yml index b6b5e4f6..7de98b5b 100644 --- a/circle.yml +++ b/circle.yml @@ -1,28 +1,97 @@ -machine: - node: - version: 8 - services: - - docker - - redis - -deployment: - latest: - branch: master - commands: - - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS - - docker build -t mozilla/send:latest . - - docker push mozilla/send:latest - tags: - tag: /.*/ - owner: mozilla - commands: - - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS - - docker build -t mozilla/send:$CIRCLE_TAG . - - docker push mozilla/send:$CIRCLE_TAG - -test: - override: - - npm run build - - npm run lint - - npm test - - nsp check +version: 2.0 +jobs: + build: + docker: + - image: circleci/node:8 + steps: + - checkout + - restore_cache: + key: send-{{ checksum "package-lock.json" }} + - run: npm install + - save_cache: + key: send-{{ checksum "package-lock.json" }} + paths: + - node_modules + - run: npm run build + - persist_to_workspace: + root: . + paths: + - ./* + test: + docker: + - image: circleci/node:8-browsers + steps: + - checkout + - restore_cache: + key: send-{{ checksum "package-lock.json" }} + - run: npm install + - save_cache: + key: send-{{ checksum "package-lock.json" }} + paths: + - node_modules + - run: npm run check + - run: npm run lint + - run: npm test + deploy_dev: + machine: true + steps: + - attach_workspace: + at: . + - run: docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS + - run: docker build -t mozilla/send:latest . + - run: docker push mozilla/send:latest + deploy_stage: + machine: true + steps: + - attach_workspace: + at: . + - run: docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS + - run: docker build -t mozilla/send:$CIRCLE_TAG . + - run: docker push mozilla/send:$CIRCLE_TAG +workflows: + version: 2 + test_pr: + jobs: + - test: + filters: + branches: + ignore: master + build_and_deploy_dev: + jobs: + - build: + filters: + branches: + only: master + tags: + ignore: /^v.*/ + - deploy_latest: + requires: + - build + filters: + branches: + only: master + tags: + ignore: /^v.*/ + build_and_deploy_stage: + jobs: + - build: + filters: + branches: + only: master + tags: + only: /^v.*/ + - test: + filters: + branches: + only: master + tags: + only: /^v.*/ + - deploy_stage: + requires: + - build + - test + filters: + branches: + only: master + tags: + only: /^v.*/ \ No newline at end of file diff --git a/package.json b/package.json index 03ea43cf..45477baa 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "scripts": { "precommit": "lint-staged", "prepush": "npm test", + "check": "nsp check", "clean": "rimraf dist", "build": "npm run clean && webpack -p", "lint": "npm-run-all lint:*",