diff options
author | kumavis <kumavis@users.noreply.github.com> | 2018-03-10 08:07:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-10 08:07:28 +0800 |
commit | ddc85354d3df508cbecc016fc0213a6560d885e1 (patch) | |
tree | f2a505855361fdd57e496af91c474d97d598ba6d /.circleci | |
parent | 634e5d8f55efc6c307a867556116a565eee21b58 (diff) | |
parent | efe516857a8177bfbc95af7a5aeda63c565ece25 (diff) | |
download | tangerine-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.yml | 152 |
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 |