version: 2.1 orbs: gem: doximity/gem-publisher@0 executors: ruby: resource_class: small docker: - image: cimg/ruby:2.6 environment: BUNDLE_VERSION: "~> 2.1.4" ruby-with-redis: resource_class: small docker: - image: cimg/ruby:2.6 environment: BUNDLE_VERSION: "~> 2.1.4" - image: redis:4-alpine command: redis-server # yaml anchor filters always_run: &always_run filters: branches: only: /.*/ tags: only: /^v.*/ 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-with-redis steps: - checkout - run: name: Install Bundler specific version command: | gem install bundler --version "${BUNDLE_VERSION}" --force - restore_cache: keys: - v4-bundle-{{ checksum "Gemfile.lock" }}- - run: name: Install Ruby Dependencies command: | bundle config set --local path 'vendor/bundle' bundle install --jobs=4 --retry=3 - save_cache: key: v4-bundle-{{ checksum "Gemfile.lock" }}- paths: - vendor/bundle - run: name: Run Tests command: bundle exec rake ci:specs - store_test_results: name: Store test results path: tmp/test-results - run: name: Run StandardRB command: bundle exec standardrb - persist_to_workspace: root: . paths: - vendor/bundle workflows: main: jobs: - build: <<: *always_run context: sidekiq-enterprise - gem/build: <<: *always_run context: sidekiq-enterprise executor: ruby name: gem-build vendor-cache: false cache-salt: simplekiq-v2 requires: - build - pre-release-approval: <<: *pr_only type: approval requires: - gem-build - gem/publish: <<: *pr_only executor: ruby name: gem-publish-pre to_rubygems: true pre_release: true requires: - pre-release-approval context: artifact_publishing - gem/publish: <<: *version_tags_only name: gem-publish-final executor: ruby to_rubygems: true pre_release: false requires: - gem-build context: artifact_publishing