tridactyl/.circleci/config.yml
Oliver Blanthorn 026f69d394
Ensure CI uses a frozen lockfile
This should help us catch builds which are likely to be
hard to reproduce
2020-06-18 21:08:38 +01:00

45 lines
1 KiB
YAML

version: 2.1
commands:
commoncmd:
steps:
- checkout
- restore_cache:
keys:
- dependency-cache-{{ checksum "package.json" }}
- run: yarn install --frozen-lockfile
- save_cache:
key: dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- run: yarn run build
jobs:
lint:
docker:
- image: circleci/node:latest
steps:
- run: sudo apt update
- run: sudo apt install -qq shellcheck
- commoncmd
- run: bash -c 'GLOBIGNORE="node_modules" shellcheck -e2012 **/*.sh'
- run: yarn run lint
- run: bash -c '"$(yarn bin)/eslint" src --ext .ts'
unit:
docker:
- image: circleci/node:latest
steps:
- commoncmd
- run: bash -c '"$(yarn bin)/jest" src'
mozilla:
docker:
- image: circleci/node:latest
steps:
- commoncmd
- run: bash -c 'cd build; "$(yarn bin)/web-ext" lint'
workflows:
version: 2
build_test_lint:
jobs:
- lint
- mozilla
- unit