Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config parser ignores matrix.exclude #64

Closed
MariadeAnton opened this issue Aug 7, 2018 · 1 comment
Closed

config parser ignores matrix.exclude #64

MariadeAnton opened this issue Aug 7, 2018 · 1 comment

Comments

@MariadeAnton
Copy link

MariadeAnton commented Aug 7, 2018

Bug report

matrix.exclude doesn't seem to have an effect when used together with matrix.include and regular matrix expansion with the new config parser.

Description

I was using matrix.exclude to exclude 3 mac jobs, together with regular matrix expansion and an extra deploy stage. Ideally, this configuration would end up running 10 jobs (6 Linux jobs + 4 Mac ) ones and a deploy one (rather than 13 jobs (6 Linux + 7 Mac) and the deploy one.

Ideally, 3 mac OS jobs, the default ones for Ruby 1.9.2, 1.9.3 and jruby should have been excluded.

Steps to reproduce

Use a travis.yml file like the following: https://github.com/travis-ci/travis.rb/blob/7b6f2ec82ed6c23a72bf60fee4cbc420554b2601/.travis.yml

Parse it with http://config.travis-ci.org/ :)

Expected behavior

matrix.exclude is taken into account and we end up generating 10 jobs, 6 Linux jobs + 4 Mac jobs

The same travis.yml configuration with the old parser: https://travis-ci.com/MariadeAnton/travis.rb/builds/81158133 results in the expected behaviour

Actual behavior

When using the new config parser, seems that matrix.exclude is not properly taken into account, resulting in 13 jobs in total, (6 Linux + 7 Mac)

See: https://travis-ci.org/travis-ci/travis.rb/builds/413047457

@svenfuchs
Copy link
Contributor

Thank you, @MariadeAnton!

I believe this behavior is expected, as jobs is an alias for matrix, so using both keys results in one overwriting the other (in this case, matrix.exclude gets removed). It would be hard to merge the sections given on those keys, as they can have lots of different forms.

In order to address the confusion that this can create I have added a new error level message overwrite to inform the user about this (still needs to be added to the UI though).

I am going to close this issue here. Please feel free to reopen if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants