version: 2 # executor: "machine" jobs: build: executor: "machine" steps: - checkout - run: name: Shuffle configs around, install Docker-Compose command: | curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > docker-compose chmod +x docker-compose sudo mv docker-compose /usr/local/bin mv .circleci/circle_envs .env - run: name: Install Ruby/JS deps command: | sudo docker-compose run web bundle install sudo docker-compose run web npm install - run: name: Create databases and secrets command: | sudo docker-compose run web bundle exec rails db:create sudo docker-compose run web bundle exec rails db:migrate sudo docker-compose run web rake keys:generate - run: name: Run Ruby tests command: | sudo docker-compose run web rspec spec - run: name: Run linters command: | sudo docker-compose run parcel npm run tslint sudo docker-compose run parcel npm run sass-lint sudo docker-compose run parcel npm run typecheck - run: name: Run JS tests command: | sudo docker-compose run parcel npm run test-slow sudo docker-compose run -e COVERALLS_REPO_TOKEN=lEX6nkql7y2YFCcIXVq5ORvdvMtYzfZdG parcel npm run coverage - run: name: Check Coveralls coverage on staging command: | sudo docker-compose run -e CIRCLE_SHA1="$CIRCLE_SHA1" web rake coverage:run