137 lines
3.8 KiB
YAML
137 lines
3.8 KiB
YAML
version: 2
|
|
vm_settings: &vm_settings
|
|
docker:
|
|
- image: circleci/node:6.12.3-browsers
|
|
|
|
jobs:
|
|
install_template_deps:
|
|
<<: *vm_settings
|
|
working_directory: ~/project/webpack-template
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: template-cache-{{ checksum "package.json" }}
|
|
- run:
|
|
name: Install npm dependencies
|
|
command: npm install
|
|
- save_cache:
|
|
key: template-cache-{{ checksum "package.json" }}
|
|
paths:
|
|
- node_modules
|
|
- run:
|
|
name: Rollout minimal scenario
|
|
command: VUE_TEMPL_TEST=minimal node_modules/.bin/vue init . test-minimal
|
|
- run:
|
|
name: Rollout full scenario
|
|
command: VUE_TEMPL_TEST=full node_modules/.bin/vue init . test-full
|
|
- run:
|
|
name: Rollout full-karma-airbnb scenario
|
|
command: VUE_TEMPL_TEST=full-karma-airbnb node_modules/.bin/vue init . test-full-karma-airbnb
|
|
- persist_to_workspace:
|
|
root: ~/project/webpack-template
|
|
paths:
|
|
- node_modules
|
|
- test-*
|
|
|
|
scenario_minimal:
|
|
<<: *vm_settings
|
|
environment:
|
|
- VUE_TEMPL_TEST: minimal
|
|
working_directory: ~/project/webpack-template/test-minimal
|
|
steps:
|
|
- attach_workspace:
|
|
at: '~/project/webpack-template'
|
|
- restore_cache:
|
|
key: template-cache-minimal-{{ checksum "package.json" }}
|
|
- run:
|
|
name: Install npm dependencies
|
|
command: npm install
|
|
- save_cache:
|
|
key: template-cache-minimal-{{ checksum "package.json" }}
|
|
paths:
|
|
- node_modules
|
|
- run:
|
|
name: Test build
|
|
command: npm run build
|
|
|
|
scenario_full:
|
|
<<: *vm_settings
|
|
working_directory: ~/project/webpack-template/test-full
|
|
environment:
|
|
- VUE_TEMPL_TEST: full
|
|
steps:
|
|
- attach_workspace:
|
|
at: '~/project/webpack-template'
|
|
- restore_cache:
|
|
key: template-cache-full-{{ checksum "package.json" }}
|
|
- run:
|
|
name: Install npm dependencies
|
|
command: npm install
|
|
- save_cache:
|
|
key: template-cache-full-{{ checksum "package.json" }}
|
|
paths:
|
|
- node_modules
|
|
- run:
|
|
name: Run Lint
|
|
command: npm run lint -- --fix
|
|
- run:
|
|
name: Run Unit tests
|
|
command: npm run unit
|
|
when: always
|
|
- run:
|
|
name: Run e2e tests
|
|
command: npm run e2e
|
|
when: always
|
|
- run:
|
|
name: Test build
|
|
command: npm run build
|
|
when: always
|
|
|
|
scenario_full-karma-airbnb:
|
|
<<: *vm_settings
|
|
working_directory: ~/project/webpack-template/test-full-karma-airbnb
|
|
environment:
|
|
- VUE_TEMPL_TEST: full-karma-airbnb
|
|
steps:
|
|
- attach_workspace:
|
|
at: '~/project/webpack-template'
|
|
- restore_cache:
|
|
key: template-cache-full-karma-airbnb-{{ checksum "package.json" }}
|
|
- run:
|
|
name: Install npm dependencies
|
|
command: npm install
|
|
- save_cache:
|
|
key: template-cache-full-karma-airbnb-{{ checksum "package.json" }}
|
|
paths:
|
|
- node_modules
|
|
- run:
|
|
name: Run Lint
|
|
command: npm run lint -- --fix
|
|
- run:
|
|
name: Run Unit tests
|
|
command: npm run unit
|
|
when: always
|
|
- run:
|
|
name: Run e2e tests
|
|
command: npm run e2e
|
|
when: always
|
|
- run:
|
|
name: Test build
|
|
command: npm run build
|
|
when: always
|
|
|
|
|
|
workflows:
|
|
version: 2
|
|
build_and_test:
|
|
jobs:
|
|
- install_template_deps
|
|
- scenario_minimal:
|
|
requires:
|
|
- install_template_deps
|
|
- scenario_full:
|
|
requires:
|
|
- install_template_deps
|
|
- scenario_full-karma-airbnb:
|
|
requires:
|
|
- install_template_deps |