# Javascript Node CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-javascript/ for more details # version: 2 jobs: install-test-linux: docker: # specify the version you desire here - image: circleci/node:10 # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ # - image: circleci/mongo:3.4.4 working_directory: ~/repo steps: - checkout # Download and cache dependencies - restore_cache: keys: - v1-dependencies-{{ checksum "package.json" }} # fallback to using the latest cache if no exact match is found - v1-dependencies- - run: npm install - save_cache: paths: - node_modules key: v1-dependencies-{{ checksum "package.json" }} # run tests! - run: node --version - run: npm --version - run: npm test install-test-osx: macos: xcode: "10.0" steps: - checkout # Download and cache dependencies - restore_cache: keys: - v1-mac-dependencies-{{ checksum "package.json" }} # fallback to using the latest cache if no exact match is found - v1-mac-dependencies- # Lock into Node.js version - run: name: Install Node.js command: | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" nvm install v10.19.0 nvm alias default v10.19.0 echo 'export NVM_DIR=${HOME}/.nvm' >> $BASH_ENV echo "[ -s '${NVM_DIR}/nvm.sh' ] && . '${NVM_DIR}/nvm.sh'" >> $BASH_ENV - run: node --version - run: npm --version - run: npm install - save_cache: paths: - node_modules key: v1-mac-dependencies-{{ checksum "package.json" }} # run tests! - run: npm test workflows: version: 2 test-linux: jobs: - install-test-linux test-osx: jobs: - install-test-osx