@webpack-contrib/defaults
Version:
Project configuration and boilerplate defaults for webpack projects
146 lines (143 loc) • 3.84 kB
YAML
unit_tests:
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
# npm@3 is buggy
command: if [[ $(npm -v | cut -c -1) > 3 ]] ; then npm i -g npm@latest; else echo "Skip npm updating"; fi
- run:
name: NPM Install.
command: npm ci || npm i
- run:
name: Run Test.
command: npm run ci:test
canary_tests:
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- run:
name: Install Webpack Canary.
command: npm i --no-save webpack@next
- run:
name: Run Test.
command: if [[ $(compver --name webpack --gte next --lt latest) < 1 ]] ; then printf "Next is older than Latest - Skipping Canary Suite"; else npm run ci:test; fi
version: 2
jobs:
dependency_cache:
docker:
- image: webpackcontrib/circleci-node-base:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- save_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
paths:
- ./node_modules
analysis:
docker:
- image: webpackcontrib/circleci-node-base:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- run:
name: Run linting.
command: npm run lint
- run:
name: Run NPM Audit.
command: npm run security
- run:
name: Validate Commit Messages.
command: npm run ci:lint:commits
node6-latest:
docker:
- image: webpackcontrib/circleci-node6:latest
<<:
node8-latest:
docker:
- image: webpackcontrib/circleci-node8:latest
<<:
node10-latest:
docker:
- image: webpackcontrib/circleci-node10:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- run:
name: Run Test.
command: npm run ci:coverage
- run:
name: Submit coverage data to codecov.
command: bash <(curl -s https://codecov.io/bash)
when: on_success
node6-canary:
docker:
- image: webpackcontrib/circleci-node10:latest
<<:
workflows:
version: 2
test:
jobs:
- dependency_cache
- analysis:
requires:
- dependency_cache
filters:
tags:
only: /.*/
- node6-latest:
requires:
- dependency_cache
filters:
tags:
only: /.*/
- node8-latest:
requires:
- analysis
- node6-latest
filters:
tags:
only: /.*/
- node10-latest:
requires:
- analysis
- node6-latest
filters:
tags:
only: /.*/
- node6-canary:
requires:
- analysis
- node6-latest
filters:
tags:
only: /.*/