version: 2 jobs: test: working_directory: ~/test docker: - image: clojure:lein-2.7.1 steps: - checkout - restore_cache: keys: - 'v1-test-{{ checksum "project.clj" }}' - 'v1-test-' - run: name: Install modules command: ./scripts/lein-modules install - run: name: Run tests command: ./scripts/test.sh clj - store_test_results: path: ~/test/target/junit.xml - run: name: Run coverage command: ./scripts/submit-to-coveralls.sh clj - save_cache: key: 'v1-test-{{ checksum "project.clj" }}' paths: - ~/.m2 build-docs: working_directory: ~/build docker: - image: circleci/node:latest steps: - checkout - run: rm package.json package-lock.json - restore_cache: keys: - 'v1-gitbook-{{ checksum "book.json" }}' - 'v1-gitbook-' - run: name: "Install GitBook" command: npm install gitbook-cli && ./node_modules/.bin/gitbook install - run: name: "Clone gh-pages" command: git clone --branch gh-pages git@github.com:metosin/reitit.git ~/gh-pages - run: name: Build the documentation command: | ./node_modules/.bin/gitbook build cp -r _book/* ~/gh-pages/ - add_ssh_keys: fingerprints: - "2d:eb:be:af:53:33:36:01:40:61:81:9d:76:84:8e:83" - deploy: name: Upload the documentation command: | cd ~/gh-pages git config user.name "Automatic build" git config user.email "noreply@metosin.fi" git add -A git commit -m "Build book from commit $CIRCLE_SHA1 [skip ci]" git push - save_cache: key: 'v1-gitbook-{{ checksum "book.json" }}' paths: - node_modules workflows: version: 2 test-and-build-docs: jobs: - test - build-docs: filters: branches: only: - master