aboutsummaryrefslogtreecommitdiffstats
path: root/.circleci
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-03-10 08:07:28 +0800
committerGitHub <noreply@github.com>2018-03-10 08:07:28 +0800
commitddc85354d3df508cbecc016fc0213a6560d885e1 (patch)
treef2a505855361fdd57e496af91c474d97d598ba6d /.circleci
parent634e5d8f55efc6c307a867556116a565eee21b58 (diff)
parentefe516857a8177bfbc95af7a5aeda63c565ece25 (diff)
downloadtangerine-wallet-browser-ddc85354d3df508cbecc016fc0213a6560d885e1.tar.gz
tangerine-wallet-browser-ddc85354d3df508cbecc016fc0213a6560d885e1.tar.zst
tangerine-wallet-browser-ddc85354d3df508cbecc016fc0213a6560d885e1.zip
Merge pull request #3501 from MetaMask/circleci-2.0
ci - introduce circle ci 2.0
Diffstat (limited to '.circleci')
-rw-r--r--.circleci/config.yml152
1 files changed, 152 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 000000000..9cd0a24ec
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,152 @@
+version: 2
+
+workflows:
+ version: 2
+ full_test:
+ jobs:
+ - prep-deps-npm
+ - prep-deps-firefox
+ - prep-scss:
+ requires:
+ - prep-deps-npm
+ - test-lint:
+ requires:
+ - prep-deps-npm
+ - test-unit:
+ requires:
+ - prep-deps-npm
+ - test-integration-mascara:
+ requires:
+ - prep-deps-npm
+ - prep-deps-firefox
+ - prep-scss
+ - test-integration-flat:
+ requires:
+ - prep-deps-npm
+ - prep-deps-firefox
+ - prep-scss
+
+jobs:
+ prep-deps-npm:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ checksum "package-lock.json" }}
+ - run:
+ name: Install deps via npm
+ command: npm install
+ - save_cache:
+ key: dependency-cache-{{ checksum "package-lock.json" }}
+ paths:
+ - node_modules
+
+ prep-deps-firefox:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - run:
+ name: Download Firefox
+ command: >
+ wget https://ftp.mozilla.org/pub/firefox/releases/58.0/linux-x86_64/en-US/firefox-58.0.tar.bz2
+ && tar xjf firefox-58.0.tar.bz2
+ - save_cache:
+ key: dependency-cache-firefox-{{ .Revision }}
+ paths:
+ - firefox
+
+
+ prep-scss:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ checksum "package-lock.json" }}
+ - run:
+ name: Get Scss Cache key
+ # this allows us to checksum against a whole directory
+ command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
+ - run:
+ name: Build for integration tests
+ command: npm run test:integration:build
+ - save_cache:
+ key: scss-cache-{{ checksum "scss_checksum" }}
+ paths:
+ - ui/app/css/output
+
+ test-lint:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ checksum "package-lock.json" }}
+ - run:
+ name: Test
+ command: npm run lint
+
+ test-unit:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ checksum "package-lock.json" }}
+ - run:
+ name: test:coverage
+ command: npm run test:coverage
+
+ test-integration-flat:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-firefox-{{ .Revision }}
+ - run:
+ name: Install firefox
+ command: >
+ sudo rm -r /opt/firefox
+ && sudo mv firefox /opt/firefox58
+ && sudo mv /usr/bin/firefox /usr/bin/firefox-old
+ && sudo ln -s /opt/firefox58/firefox /usr/bin/firefox
+ - restore_cache:
+ key: dependency-cache-{{ checksum "package-lock.json" }}
+ - run:
+ name: Get Scss Cache key
+ # this allows us to checksum against a whole directory
+ command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
+ - restore_cache:
+ key: scss-cache-{{ checksum "scss_checksum" }}
+ - run:
+ name: test:integration:flat
+ command: npm run test:flat
+
+ test-integration-mascara:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-firefox-{{ .Revision }}
+ - run:
+ name: Install firefox
+ command: >
+ sudo rm -r /opt/firefox
+ && sudo mv firefox /opt/firefox58
+ && sudo mv /usr/bin/firefox /usr/bin/firefox-old
+ && sudo ln -s /opt/firefox58/firefox /usr/bin/firefox
+ - restore_cache:
+ key: dependency-cache-{{ checksum "package-lock.json" }}
+ - run:
+ name: Get Scss Cache key
+ # this allows us to checksum against a whole directory
+ command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
+ - restore_cache:
+ key: scss-cache-{{ checksum "scss_checksum" }}
+ - run:
+ name: test:integration:mascara
+ command: npm run test:mascara