version: 2.1 defaults: &defaults working_directory: /repo executors: executor-2-5-3: docker: - image: circleci/ruby:2.5.3 jobs: build: machine: true steps: - checkout test: machine: true steps: - checkout - run: docker-compose up app test-all-rubies: machine: true steps: - checkout - run: docker-compose up acceptance-greenfield: machine: true steps: - checkout - run: gem install bundler - run: bundle - run: rake install - run: name: Greenfield working_directory: sooperdooper command: | bundle sleep 2s rake install sleep 5s roro greenfield sleep 5s curl -Is localhost:3000 | head -n 1 acceptance-rollon: machine: true steps: - checkout - run: gem install bundler - run: bundle - run: rake install - run: name: Rollon working_directory: test_apps/dummy command: | roro rollon docker-compose up -d docker-compose exec app bin/rails db:create docker-compose exec app rake test curl -Is localhost:3000 | head -n 1 # # push-release: # docker: # - image: circleci/ruby:2.5.3 # steps: # - checkout # - setup_remote_docker # - run: gem install bundler # - run: bundle # - run: rake install # - run: roro expose # - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV # - run: bash .circleci/setup-gem-credentials.sh # - run: git config credential.helper 'cache --timeout=120' # - run: git config user.email $GIT_EMAIL # - run: git config user.name $GIT_NAME # - run: gem install gem-release # - run: gem bump # - run: bundle # - run: git add . # - run: git commit -m "Update release branch via CircleCI" # - run: git checkout -b release # - run: git push -q --force https://${GITHUB_PERSONAL_TOKEN}@github.com/schadenfred/roro.git release # release: docker: - image: circleci/ruby:2.5.3 steps: - checkout - setup_remote_docker - run: gem install bundler - run: bundle - run: rake install - run: roro expose - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV - run: bash .circleci/setup-gem-credentials.sh - run: gem install gem-release - run: gem release workflows: version: 2.1 build-test-feature: jobs: - build: filters: branches: only: /^feature-.*/ - test: filters: branches: only: /^feature-.*/ build-test-acceptance: jobs: - build: filters: branches: only: - development - master - acceptance-greenfield: filters: branches: only: - development - master - acceptance-rollon: filters: branches: only: - development - master - test-all-rubies: filters: branches: only: - development - master release: jobs: - build: filters: tags: only: /.*/ - release: filters: tags: only: /^v.*/ branches: ignore: /.*/ # # build-test-acceptance: # jobs: # - build: # filters: # branches: # - development # - master # build-test-release: # jobs: # - build: # filters: # tags: # only: /^v.*/