Matrix (Exclude or Include) Grouping

config

#1

Hello all,

I found my way here via GitHub (P.S. The ReadMe says don’t open new issues, and then also links to itself as the central repository for opening new issues haha).

I’m submitting my idea/feature request (which I searched for first, so apologies if I’m double posting).

Overall, the gist is for collapsing/reducing/DRYing up the config files for TravisCI.
Going from the following (very simple) example config file…

matrix:
  exclude:
  - rvm: 2.4
    gemfile: gemfiles/activerecord-4.1.Gemfile

  - rvm: 2.5
    gemfile: gemfiles/activerecord-4.1.Gemfile

  - rvm: 2.3
    gemfile: gemfiles/activerecord-4.0.Gemfile

  - rvm: 2.3
    gemfile: gemfiles/activerecord-5.0.Gemfile

  - rvm: 2.3
    gemfile: gemfiles/activerecord-5.1.Gemfile

  - rvm: 2.3
    gemfile: gemfiles/activerecord-5.2.Gemfile

To something like:

matrix:
  exclude:
  - gemfile: gemfiles/activerecord-4.1.Gemfile
    rvm: [2.4, 2.5]

  - gemfile: gemfiles/activerecord-4.0.Gemfile
    rvm: [2.3, 2.5]

  - rvm: 2.3
    gemfile:
    - gemfiles/activerecord-5.0.Gemfile
    - gemfiles/activerecord-5.1.Gemfile
    - gemfiles/activerecord-5.2.Gemfile

As you can see, this scales a lot better, and is easier to read.

Thanks for all the work everyone here does for TravisCI and the Open Source Community!

~ Dale