version: 2.1 executors: ruby-executor: docker: - image: cimg/ruby:2.7 linux: docker: - image: cimg/ruby:2.7 mac: macos: xcode: 11.4 ruby: parameters: version: description: "version tag" default: "2.5" type: string docker: - image: cimg/ruby:<> defaults: &defaults executor: ruby major_only: &major_only filters: branches: only: main release: &release filters: branches: only: release commands: run-test-case: parameters: answers: type: string default: "1\n2" os: type: executor steps: - run: | rake install && printf "<< parameters.answers >>\na$var\n" | roro rollon - run: echo 'success' jobs: build: <<: *defaults steps: - checkout test: parameters: version: description: "version tag" default: "3.0" type: string executor: name: ruby version: <> steps: - checkout - run: gem install bundler - run: bundle - run: bundle exec rake test test-rollon: parameters: answers: type: string default: 1\1 os: type: executor default: linux executor: << parameters.os >> steps: - checkout - setup_remote_docker: version: 19.03.12 - run: | rake install && printf "<< parameters.answers >>\na$var\n" | roro rollon - run: echo 'success' release: <<: *defaults steps: - checkout - run: | git config --global user.email "fred.schoeneman@gmail.com" git config --global user.name "Fred Schoeneman" - run: gem install gem-release - run: gem bump - run: gem release workflows: matrix-test-rollon: jobs: - test-rollon: <<: *major_only matrix: parameters: answers: - 1\n1 - 1\n2 - 1\n3 - 1\n4 - 1\n5 - 2\n1 - 2\n2\1\1 - 2\n2\1\2 - 3\n1 - 3\n2 - 4\n2 - 4\n3 os: [linux] matrix-test-against-rubies: jobs: - test: <<: *major_only matrix: parameters: version: - 2.5 - 2.6 - 2.7 - 3.0 gem-release: jobs: - build - release: requires: - build <<: *release