.circleci/config.yml in simplekiq-0.0.3 vs .circleci/config.yml in simplekiq-0.1.0
- old
+ new
@@ -2,24 +2,32 @@
orbs:
gem: doximity/gem-publisher@0
executors:
- ruby-2-6:
+ ruby:
resource_class: small
docker:
- image: cimg/ruby:2.6
environment:
- BUNDLE_VERSION: "~> 1.17"
+ 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
-master_only: &master_only
+always_run: &always_run
filters:
branches:
- only: master
+ only: /.*/
tags:
- ignore: /.*/
+ only: /^v.*/
pr_only: &pr_only
filters:
branches:
ignore: master
tags:
@@ -31,28 +39,27 @@
tags:
only: /^v.*/
jobs:
build:
- executor: ruby-2-6
+ executor: ruby-with-redis
steps:
- checkout
- run:
name: Install Bundler specific version
command: |
gem install bundler --version "${BUNDLE_VERSION}" --force
- restore_cache:
keys:
- - v1-bundle-{{ checksum "Gemfile.lock" }}-
+ - v4-bundle-{{ checksum "Gemfile.lock" }}-
- run:
name: Install Ruby Dependencies
command: |
bundle config set --local path 'vendor/bundle'
- bundle config set --local frozen 'true'
- bundle install --local --jobs=4 --retry=3
+ bundle install --jobs=4 --retry=3
- save_cache:
- key: v1-bundle-{{ checksum "Gemfile.lock" }}-
+ key: v4-bundle-{{ checksum "Gemfile.lock" }}-
paths:
- vendor/bundle
- run:
name: Run Tests
command: bundle exec rake ci:specs
@@ -66,59 +73,42 @@
root: .
paths:
- vendor/bundle
workflows:
- version: 2
- trunk:
+ main:
jobs:
- build:
- <<: *master_only
+ <<: *always_run
+ context: sidekiq-enterprise
- gem/build:
- <<: *master_only
- executor: ruby-2-6
+ <<: *always_run
+ context: sidekiq-enterprise
+ executor: ruby
name: gem-build
+ vendor-cache: false
+ cache-salt: simplekiq-v2
requires:
- build
-
- pull-requests:
- jobs:
- - build:
- <<: *pr_only
- - gem/build:
- <<: *pr_only
- executor: ruby-2-6
- name: gem-build
- requires:
- - build
- pre-release-approval:
<<: *pr_only
type: approval
requires:
- gem-build
- gem/publish:
<<: *pr_only
- name: gem-publish
+ executor: ruby
+ name: gem-publish-pre
to_rubygems: true
pre_release: true
requires:
- pre-release-approval
context: artifact_publishing
-
- final-release:
- jobs:
- - build:
- <<: *version_tags_only
- - gem/build:
- <<: *version_tags_only
- executor: ruby-2-6
- name: gem-build
- requires:
- - build
- gem/publish:
<<: *version_tags_only
- name: gem-publish
+ name: gem-publish-final
+ executor: ruby
to_rubygems: true
pre_release: false
requires:
- gem-build
context: artifact_publishing