version: 2.0 # Necessary for running in machine mode, # which is necessary to execute the E2E scripts step_install_nvm: &step_install_nvm run: name: "Install nvm for machine" command: | set +e export NVM_DIR="/opt/circleci/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" nvm install v8.15.0 nvm alias default v8.15.0 echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV jobs: unit-test: machine: true steps: - checkout - <<: *step_install_nvm - run: name: Delete any old node_modules command: | rm -rf node_modules/ - run: name: Install yarn command: | npm install -g yarn - run: name: Install truffle (globally) command: | npm install -g truffle - run: name: Install dependencies command: | yarn - run: name: Run tests command: | npm run test:ci - run: name: Upload coverage command: | bash <(curl -s https://codecov.io/bash) # This works but takes a while.... e2e-colony: docker: - image: circleci/node:10.12-stretch working_directory: ~/colonyNetwork steps: - checkout - run: name: ColonyNetwork E2E command: | ./scripts/run-colony.sh e2e-zeppelin: machine: true steps: - checkout - <<: *step_install_nvm - run: name: Zeppelin E2E command: | ./scripts/run-zeppelin.sh e2e-metacoin: machine: true steps: - checkout - <<: *step_install_nvm - run: name: MetaCoin E2E command: | ./scripts/run-metacoin.sh e2e-buidler: machine: true steps: - checkout - <<: *step_install_nvm - run: name: Buidler E2E command: | ./scripts/run-buidler.sh e2e-moloch: machine: true steps: - checkout - <<: *step_install_nvm - run: name: Moloch E2E command: | ./scripts/run-moloch.sh workflows: version: 2 build: jobs: - unit-test - e2e-zeppelin - e2e-metacoin - e2e-buidler - e2e-moloch