Search code examples
rubypuppettravis-cicircleci

Specifying a Puppet + Ruby version matrix in CircleCI


I'm playing with CircleCI as an alternative to Travis using a Puppet module I've written. My .travis.yml has a matrix of Puppet and Ruby versions and looks like so:

---
language: ruby
bundler_args: --without development
before_install: rm Gemfile.lock || true
rvm:
  - 1.8.7
  - 1.9.3
  - 2.0.0
  - 2.1.0
script: bundle exec rake test
env:
  - PUPPET_VERSION="~> 3.2.0"
  - PUPPET_VERSION="~> 3.3.0"
  - PUPPET_VERSION="~> 3.4.0"
  - PUPPET_VERSION="~> 3.5.0"
  - PUPPET_VERSION="~> 3.6.0"
  - PUPPET_VERSION="~> 3.6.0"
matrix:
  exclude:
  - rvm: 1.9.3
    env: PUPPET_VERSION="~> 2.7.0"
  - rvm: 2.0.0
    env: PUPPET_VERSION="~> 2.7.0"
  - rvm: 2.1.0
    env: PUPPET_VERSION="~> 2.7.0"
  - rvm: 2.1.0
    env: PUPPET_VERSION="~> 3.2.0"
  - rvm: 2.1.0
    env: PUPPET_VERSION="~> 3.3.0"
  - rvm: 2.1.0
    env: PUPPET_VERSION="~> 3.4.0"

I've been pouring over the CircleCI docs but I don't see a way to do this kind of matrix testing. Can anyone advise?


Solution

  • From looking at this tweet and in response to "Now if they would only support running against a matrix of rubies I'd use it for OSS too":

    @dkubb @avdi stay tuned guys! we're working on it!

    There seems to have been no updates since then...