@wmfs/statebox
Version:
Orchestrate Node functions using Amazon States Language
95 lines (94 loc) • 2.25 kB
YAML
version: 2
jobs:
unit test:
docker:
- image: cimg/node:lts
auth:
username: $DOCKERHUB_USERNAME
password: $DOCKERHUB_PASSWORD
environment:
TZ: "Europe/London"
working_directory: ~/repo
parallelism: 3
steps:
- checkout
- restore_cache:
keys:
- v1-deps-{{ checksum "package.json" }}
- v1-deps-
- run:
name: install
command: npm install
- save_cache:
key: v1-deps-{{ checksum "package.json" }}
paths:
- node_modules
- run:
name: test
command: |
TEST=$(circleci tests glob "./test/*.js" | circleci tests split)
npm test $TEST
- run:
name: codecov
command: npm run coverage
lint:
docker:
- image: cimg/node:lts
auth:
username: $DOCKERHUB_USERNAME
password: $DOCKERHUB_PASSWORD
working_directory: ~/repo
steps:
- checkout
- run:
name: install standard
command: npm install standard
- run:
name: lint
command: npm run lint
release:
docker:
- image: cimg/node:lts
auth:
username: $DOCKERHUB_USERNAME
password: $DOCKERHUB_PASSWORD
environment:
TZ: "Europe/London"
working_directory: ~/repo
steps:
- checkout
- restore_cache:
keys:
- v1-deps-{{ checksum "package.json" }}
- v1-deps-
- run:
name: install
command: npm install
- save_cache:
key: v1-deps-{{ checksum "package.json" }}
paths:
- node_modules
- run:
name: release
command: npx semantic-release
workflows:
version: 2
test_and_release:
jobs:
- unit test:
context:
- docker-hub-creds
- build-env-vars
- lint:
context:
- docker-hub-creds
- release:
context:
- docker-hub-creds
- build-env-vars
requires:
- unit test
- lint
filters:
branches:
only: master