--- version: 2.1 jobs: build: machine: true parameters: gemfile: description: "Gemfile to run" default: "Gemfile" type: "string" ruby: description: "Ruby version" default: "2.6.3" type: "string" environment: BUNDLE_GEMFILE: << parameters.gemfile >> steps: - checkout - run: name: Set ruby version to << parameters.ruby >> command: | rvm install << parameters.ruby >> echo . $(rvm << parameters.ruby >> do rvm env --path) >> $BASH_ENV - run: shell: /bin/bash -l name: Uninstall global Bundler command: | rvm use << parameters.ruby >> rvm gemset use global gem uninstall bundler -x echo Uninstalled - run: name: Install Docker Compose command: | curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose chmod +x ~/docker-compose sudo mv ~/docker-compose /usr/local/bin/docker-compose - run: name: Update bundler command: gem install bundler -v 1.17.2 - restore_cache: keys: - bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-6 - run: sudo apt-get update && sudo apt-get install -y libpq-dev - run: name: Set BUNDLE_GEMFILE command: | export BUNDLE_GEMFILE=~/project/<< parameters.gemfile >> - run: name: Install dependencies command: bundle install --path=vendor/bundle --jobs 4 --retry 3 - save_cache: key: bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-6 paths: - "vendor/bundle" - "gemfiles/vendor/bundle" - run: name: Run Rubocop command: bundle exec rake rubocop - run: name: Run Specs command: bundle exec rake docker:spec - store_artifacts: path: coverage destination: coverage workflows: version: 2 build: jobs: - build: gemfile: "gemfiles/activerecord_6_0.gemfile" ruby: 2.6.3 name: "Ruby2-6_Rails6-0" - build: gemfile: "gemfiles/activerecord_5_2.gemfile" ruby: 2.6.3 name: "Ruby2-6_Rails5-2" - build: gemfile: "gemfiles/activerecord_5_1.gemfile" ruby: 2.6.3 name: "Ruby2-6_Rails5-1" - build: gemfile: "gemfiles/activerecord_5_2.gemfile" ruby: 2.5.5 name: "Ruby2-5_Rails5-2" - build: gemfile: "gemfiles/activerecord_5_1.gemfile" ruby: 2.5.5 name: "Ruby2-5_Rails5-1" - build: gemfile: "gemfiles/activerecord_5_2.gemfile" ruby: 2.4.6 name: "Ruby2-4_Rails5-2" - build: gemfile: "gemfiles/activerecord_5_1.gemfile" ruby: 2.4.6 name: "Ruby2-4_Rails5-1" nightly: triggers: - schedule: cron: "0 0 * * *" filters: branches: only: - master jobs: - build: gemfile: "gemfiles/activerecord_6_0.gemfile" ruby: 2.6.3 name: "Ruby2-6_Rails6-0" - build: gemfile: "gemfiles/activerecord_5_2.gemfile" ruby: 2.6.3 name: "Ruby2-6_Rails5-2" - build: gemfile: "gemfiles/activerecord_5_1.gemfile" ruby: 2.6.3 name: "Ruby2-6_Rails5-1" - build: gemfile: "gemfiles/activerecord_5_2.gemfile" ruby: 2.5.5 name: "Ruby2-5_Rails5-2" - build: gemfile: "gemfiles/activerecord_5_1.gemfile" ruby: 2.5.5 name: "Ruby2-5_Rails5-1" - build: gemfile: "gemfiles/activerecord_5_2.gemfile" ruby: 2.4.6 name: "Ruby2-4_Rails5-2" - build: gemfile: "gemfiles/activerecord_5_1.gemfile" ruby: 2.4.6 name: "Ruby2-4_Rails5-1"