1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/.circleci/config.yml

153 lines
4.3 KiB
YAML
Raw Normal View History

2018-03-09 21:47:01 +01:00
version: 2
workflows:
version: 2
full_test:
2018-03-09 21:47:01 +01:00
jobs:
- prep-deps-npm
- prep-deps-firefox
2018-03-09 22:41:18 +01:00
- prep-scss:
2018-03-09 22:43:18 +01:00
requires:
- prep-deps-npm
- test-lint:
2018-03-09 21:47:01 +01:00
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
2018-03-09 21:47:01 +01:00
2018-03-09 21:38:28 +01:00
jobs:
prep-deps-npm:
2018-03-09 21:38:28 +01:00
docker:
- image: circleci/node:8-browsers
steps:
- checkout
- restore_cache:
2018-03-09 22:04:53 +01:00
key: dependency-cache-{{ checksum "package-lock.json" }}
2018-03-09 21:38:28 +01:00
- run:
2018-03-09 23:01:42 +01:00
name: Install deps via npm
2018-03-09 21:38:28 +01:00
command: npm install
- save_cache:
2018-03-09 22:04:53 +01:00
key: dependency-cache-{{ checksum "package-lock.json" }}
2018-03-09 21:38:28 +01:00
paths:
- node_modules
prep-deps-firefox:
docker:
- image: circleci/node:8-browsers
steps:
- checkout
- run:
name: Download Firefox
2018-03-09 23:58:02 +01:00
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:
2018-03-10 00:20:59 +01:00
key: dependency-cache-firefox-{{ .Revision }}
2018-03-09 23:58:02 +01:00
paths:
- firefox
2018-03-09 23:58:02 +01:00
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
2018-03-09 22:50:57 +01:00
# this allows us to checksum against a whole directory
2018-03-10 00:30:58 +01:00
command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
- run:
name: Build for integration tests
2018-03-09 22:50:57 +01:00
command: npm run test:integration:build
- save_cache:
key: scss-cache-{{ checksum "scss_checksum" }}
paths:
- ui/app/css/output
test-lint:
2018-03-09 21:38:28 +01:00
docker:
- image: circleci/node:8-browsers
steps:
- checkout
2018-03-09 22:04:53 +01:00
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
2018-03-09 21:38:28 +01:00
- 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
2018-03-09 23:58:02 +01:00
- restore_cache:
2018-03-10 00:20:59 +01:00
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
2018-03-10 00:30:58 +01:00
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
2018-03-09 23:58:02 +01:00
- restore_cache:
2018-03-10 00:20:59 +01:00
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
2018-03-10 00:30:58 +01:00
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