nifty-wallet/.circleci/config.yml

120 lines
3.1 KiB
YAML
Raw Normal View History

2018-03-09 12:47:01 -08:00
version: 2
workflows:
version: 2
full_test:
2018-03-09 12:47:01 -08:00
jobs:
- prep-deps
2018-03-09 13:41:18 -08:00
- prep-scss:
2018-03-09 13:43:18 -08:00
requires:
- prep-deps
- test-lint:
2018-03-09 12:47:01 -08:00
requires:
- prep-deps
- test-unit:
requires:
- prep-deps
- test-integration-mascara:
requires:
- prep-deps
- prep-scss
- test-integration-flat:
requires:
- prep-deps
- prep-scss
2018-03-09 12:47:01 -08:00
2018-03-09 12:38:28 -08:00
jobs:
prep-deps:
2018-03-09 12:38:28 -08:00
docker:
- image: circleci/node:8-browsers
steps:
- checkout
- run:
name: Update npm
command: 'sudo npm install -g npm@latest'
- restore_cache:
2018-03-09 13:04:53 -08:00
key: dependency-cache-{{ checksum "package-lock.json" }}
2018-03-09 12:38:28 -08:00
- run:
name: Install npm
command: npm install
- save_cache:
2018-03-09 13:04:53 -08:00
key: dependency-cache-{{ checksum "package-lock.json" }}
2018-03-09 12:38:28 -08:00
paths:
- node_modules
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 13:50:57 -08:00
# this allows us to checksum against a whole directory
command: ls -laR ui/app/css/ > scss_checksum
- restore_cache:
key: scss-cache-{{ checksum "scss_checksum" }}
- run:
name: Build for integration tests
2018-03-09 13:50:57 -08: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 12:38:28 -08:00
docker:
- image: circleci/node:8-browsers
steps:
- checkout
2018-03-09 13:04:53 -08:00
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
2018-03-09 12:38:28 -08: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
- 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: ls -laR ui/app/css/ > 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-{{ checksum "package-lock.json" }}
- run:
name: Get Scss Cache key
# this allows us to checksum against a whole directory
command: ls -laR ui/app/css/ > scss_checksum
- restore_cache:
key: scss-cache-{{ checksum "scss_checksum" }}
- run:
name: test:integration:mascara
command: npm run test:mascara