|
|
|
version: 2
|
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
full_test:
|
|
|
|
jobs:
|
|
|
|
- prep-deps
|
|
|
|
- prep-scss:
|
|
|
|
requires:
|
|
|
|
- prep-deps
|
|
|
|
- test-lint:
|
|
|
|
requires:
|
|
|
|
- prep-deps
|
|
|
|
- test-unit:
|
|
|
|
requires:
|
|
|
|
- prep-deps
|
|
|
|
- test-integration-mascara:
|
|
|
|
requires:
|
|
|
|
- prep-deps
|
|
|
|
- prep-scss
|
|
|
|
- test-integration-flat:
|
|
|
|
requires:
|
|
|
|
- prep-deps
|
|
|
|
- prep-scss
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
prep-deps:
|
|
|
|
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-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: ls -laR ui/app/css/ > scss_checksum
|
|
|
|
- restore_cache:
|
|
|
|
key: scss-cache-{{ checksum "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-{{ 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
|