commit
a3af225e49
@ -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 |
@ -1,17 +0,0 @@ |
|||||||
machine: |
|
||||||
node: |
|
||||||
version: 8.1.4 |
|
||||||
test: |
|
||||||
override: |
|
||||||
- "npm test" |
|
||||||
dependencies: |
|
||||||
pre: |
|
||||||
- sudo apt-get update |
|
||||||
# get latest stable firefox |
|
||||||
- sudo apt-get install firefox |
|
||||||
- firefox_cmd=`which firefox`; sudo rm -f $firefox_cmd; sudo ln -s `which firefox.ubuntu` $firefox_cmd |
|
||||||
# get latest stable chrome |
|
||||||
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - |
|
||||||
- sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' |
|
||||||
- sudo apt-get update |
|
||||||
- sudo apt-get install google-chrome-stable |
|
Loading…
Reference in new issue