reagent/circle.yml

133 lines
3.1 KiB
YAML

version: 2
jobs:
test:
working_directory: ~/work
docker:
- image: circleci/clojure:lein-2.9.1-node-browsers
steps:
- checkout
- restore_cache:
keys:
- lein-v1-{{ checksum "project.clj" }}
- lein-v1
- restore_cache:
keys:
- npm-v1-{{ checksum "package.json" }}
- npm-v1
- run: sudo npm install -g karma-cli
- run: npm install
- run: ./run-tests.sh lein
- save_cache:
paths:
- ~/.m2
- ~/.lein
- ~/.cljs/.aot_cache
key: lein-v1-{{ checksum "project.clj" }}
- save_cache:
paths:
- node_modules
key: npm-v1-{{ checksum "package.json" }}
- store_artifacts:
path: coverage
- run: bash <(curl -s https://codecov.io/bash)
environment:
NPM_CONFIG_LOGLEVEL: warn
test-clj:
working_directory: ~/work
docker:
- image: circleci/clojure:tools-deps-1.9.0.397-node-browsers
steps:
- checkout
- restore_cache:
keys:
- clj-v1-{{ checksum "deps.edn" }}
- clj-v1
- restore_cache:
keys:
- npm-v1-{{ checksum "package.json" }}
- vpm-v1
- run: sudo npm install -g karma-cli
- run: npm install
- run: ./run-tests.sh clj
- save_cache:
paths:
- ~/.m2
- ~/.lein
- ~/.cljs/.aot_cache
key: clj-v1-{{ checksum "deps.edn" }}
- save_cache:
paths:
- node_modules
key: npm-v1-{{ checksum "package.json" }}
- store_artifacts:
path: coverage
- run: bash <(curl -s https://codecov.io/bash)
environment:
NPM_CONFIG_LOGLEVEL: warn
update-site:
working_directory: ~/work
docker:
- image: circleci/clojure:lein-2.9.1-node
steps:
- checkout
- add_ssh_keys
- restore_cache:
keys:
- lein-v1-{{ checksum "project.clj" }}
- lein-v1
- restore_cache:
keys:
- npm-v1-{{ checksum "package.json" }}
- npm-v1
- run: npm install
- deploy:
command: ./build-example-site.sh
update-tagged-docs:
working_directory: ~/work
docker:
- image: circleci/clojure:lein-2.9.1
steps:
- checkout
- add_ssh_keys
- restore_cache:
keys:
- lein-v1-{{ checksum "project.clj" }}
- lein-v1
- deploy:
command: ./build-docs.sh
workflows:
version: 2
test-and-update-site:
jobs:
- test:
filters:
tags:
only: /v.*/
- test-clj:
filters:
tags:
only: /v.*/
- update-site:
requires:
- test
- test-clj
filters:
branches:
only:
- master
- update-tagged-docs:
requires:
- test
- test-clj
filters:
branches:
ignore:
- /.*/
tags:
only: /v.*/