-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Adjust TravisCI Ruby matrix #2371
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
Conversation
no change in appveyor since last green run, though its now failing for some reason |
|
||
- { rvm: *ruby_2_1, env: *rails_master } | ||
- { rvm: *ruby_2_2, env: *rails_master } | ||
- { rvm: *ruby_2_3, env: *rails_master } | ||
- { rvm: *ruby_2_4, env: *rails_master } | ||
|
||
allow_failures: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I almost never look at the allowed failures. unless you are, there's really no reason to put the load on the CI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with you very much. The fact is, the build matrix, how its configured, runs tests for each Ruby version listed under rvm
against each of the Rails versions under jobs
rvm:
- *ruby_2_1
- *ruby_2_2
- *ruby_2_3
- *ruby_2_4
- *ruby_2_5
- *ruby_2_6
- *ruby_2_7
- *ruby_head
jobs:
- *rails_4_1
- *rails_4_2
- *rails_5_0
- *rails_5_1
- *rails_5_2
- *rails_6_0
- *rails_master
In order to SKIP the CI, we list the envs (rvm/jobs) under exclude
section:
exclude:
- { rvm: *ruby_2_4, env: *rails_4_1 }
- { rvm: *ruby_2_5, env: *rails_4_1 }
- { rvm: *ruby_2_6, env: *rails_4_1 }
- { rvm: *ruby_2_7, env: *rails_4_1 }
- { rvm: *ruby_head, env: *rails_4_1 }
- { rvm: *ruby_2_7, env: *rails_4_2 }
- { rvm: *ruby_head, env: *rails_4_2 }
- { rvm: *ruby_2_1, env: *rails_5_0 }
- { rvm: *ruby_2_1, env: *rails_5_1 }
- { rvm: *ruby_2_1, env: *rails_5_2 }
- { rvm: *ruby_2_1, env: *rails_6_0 }
- { rvm: *ruby_2_2, env: *rails_6_0 }
- { rvm: *ruby_2_3, env: *rails_6_0 }
- { rvm: *ruby_2_4, env: *rails_6_0 }
- { rvm: *ruby_2_1, env: *rails_master }
- { rvm: *ruby_2_2, env: *rails_master }
- { rvm: *ruby_2_3, env: *rails_master }
+ - { rvm: *ruby_2_4, env: *rails_master }
Moreover, the envs which are not run under default configuration (e.g. jRuby) have been listed under include
section.
And the envs which are from (ruby/jruby)-head or rails-master, have been listed under allow_failures
, so that we can see any upcoming errors in advance due to new changes on those envs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here is the last successful build on Travis, where you can find all the envs that are using the CI.
https://travis-ci.org/rails-api/active_model_serializers/builds/604587180
let me know if we need to exclude any of the envs from the list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, that's why I removed some from the rvm list and selectively added them to the include list
@@ -65,17 +66,19 @@ rvm: | |||
- *ruby_2_1 | |||
- *ruby_2_2 | |||
- *ruby_2_3 | |||
- *ruby_2_4 | |||
- *ruby_2_5 | |||
- *ruby_2_6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's fine that you want this, but we're already testing 2.7, so the pr description is out of sync with the intent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these lines have already been there for long. here is the last commit prior to our attempt to support ruby 2.7
which got removed from #2368 by mistake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have updated the OP intent. Please let me know if you think we should move some of these changes out of this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually removed those lines on purpose. Maybe my execution failed, inasmuch as I intend to just test a few of them, in order to reduce the matrix size to what is likely to catch a problem
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you please suggest the build matrix that you have in mind? we can try to configure it accordingly
good news is, travis is working again 🎉 bad news is, not sure why simplecov is failing with
|
update on simplecov: 0.18.x only allows ruby >= 2.4. latest version that supports ruby >= 2.1 is 0.17.1. it looks like putting this constraint on the gemspec should overcome the error
|
simplecov issue resolved 🎉 |
next issue with grape; looks slightly complex the current bug is caused in grape tests due to rack >= 2.1.0. more info here: ruby-grape/grape#1980 grape 1.3.0 fixes the bug, though with the cost of requiring ruby >= 2.4 😕 |
we can use a band-aid solution to have grape tests passed, by restricting rack to <= 2.0.8 |
grape >= 1.3.0 has side-effects of dropping support for ruby < 2.4
Travis is looking green (partially) after quite some time. CRuby tests are all passed. JRuby 9.2.x are also passing, though 9.1.x failed due to already existing bundler > 2. |
travis ci is dead |
Purpose