.job_base: image: ruby:2.7 variables: BUNDLE_PATH: vendor/bundle BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES: "true" before_script: - gem install bundler -v 2.3.9 --no-document - bundle install cache: key: files: - dri.gemspec - Gemfile.lock paths: - vendor/bundle rules: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' include: - project: gitlab-org/quality/pipeline-common ref: 0.3.4 file: - /ci/gem-release.yml stages: - build - test - deploy build_gem: stage: build extends: .job_base script: - gem build rubocop: stage: test extends: .job_base script: - bundle exec rubocop --color rspec: stage: test extends: .job_base script: - bundle exec rspec --color rspec 3.0: stage: test extends: .job_base image: ruby:3.0 script: - bundle exec rspec --color