version: 2.1 executors: ruby-2-6: resource_class: small docker: - image: cimg/ruby:2.6 environment: BUNDLE_VERSION: "2.3.12" # yaml anchor filters master_only: &master_only filters: branches: only: master tags: ignore: /.*/ pr_only: &pr_only filters: branches: ignore: master tags: ignore: /.*/ version_tags_only: &version_tags_only filters: branches: ignore: /.*/ tags: only: /^v.*/ jobs: build: executor: ruby-2-6 steps: - checkout - run: name: Install Bundler specific version command: | gem install bundler --version "${BUNDLE_VERSION}" --force bundle config set --local path 'vendor/bundle' bundle config set --local frozen 'true' bundle config set --local jobs '4' bundle config set --local retry '3' - run: name: Install Ruby Dependencies command: bundle install --local - run: name: Run Rubocop command: bundle exec rake ci:rubocop - run: name: Run Tests command: bundle exec rake ci:specs - store_test_results: name: Store test results path: tmp/test-results - run: name: Build documentation command: bundle exec rake ci:doc - store_artifacts: name: Saves documentation path: doc - persist_to_workspace: root: . paths: - vendor/bundle workflows: version: 2 trunk: jobs: - build: <<: *master_only pull-requests: jobs: - build: <<: *pr_only final-release: jobs: - build: <<: *version_tags_only