version: 2 jobs: build: docker: - image: circleci/node:current-browsers working_directory: ~/repo steps: - checkout - restore_cache: keys: - v2-dependencies-{{ checksum "package-lock.json" }} - run: name: Install Headless Chrome Dependencies command: | sudo apt-get install -yq \ gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \ libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \ libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \ libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \ fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - run: name: Install Dependencies command: npm install - save_cache: paths: - node_modules key: v2-dependencies-{{ checksum "package-lock.json" }} - run: name: Run Tests command: npm test - store_artifacts: path: /home/circleci/.npm/_logs - store_artifacts: path: coverage/ destination: coverage - store_artifacts: path: rendering/cases/ destination: rendering - run: name: Build Examples command: npm run build-examples - store_artifacts: path: build/examples destination: examples - run: name: Build API Docs command: npm run apidoc - store_artifacts: path: build/apidoc destination: apidoc