-
-
Notifications
You must be signed in to change notification settings - Fork 163
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
Update Travis Configuration #476
Conversation
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.
There's a small typo sterr
-> stderr
in the comment block for JRuby's option variables. REALLY good to have those explanations here, as comments. They teach.
.travis.yml
Outdated
# JRUBY_OPTS, but JRuby 9 does not support C extensions at all | ||
# so it issues warning that will mess up the sterr checks. | ||
- JRUBY_OPTS="--server -Xcompile.invokedynamic=false" | ||
# Somehow a "ASCII-8BIT to UTF-8 conversion error" appears for |
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.
This would also need to be fixed. I'll open a ticket so we don't forget.
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.
Done: #477
.travis.yml
Outdated
# Travis by default also have "-Dcext.enabled=false" set in | ||
# JRUBY_OPTS, but JRuby 9 does not support C extensions at all | ||
# so it issues warning that will mess up the sterr checks. | ||
- JRUBY_OPTS="--server -Xcompile.invokedynamic=false" |
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.
The --server
option increases startup time, which is very relevant for Aruba's cucumber tests since they start up Aruba a lot. Let's try --client
and see if that makes any of the JRuby targets finish in time.
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've done some experiments locally, and the following combination of environment variables greatly improves test time:
export JRUBY_OPTS="--client -Xcompile.invokedynamic=false"
export JAVA_OPTS='-Djruby.compile.mode=OFF -XX:+TieredCompilation -XX:TieredStopAtLevel=1'
I've tried this with just bundle exec cucumber features/01_getting_started_with_aruba/run_commands.feature
, and it improved clock runtime from 1m11s to 34s, while reducing system load.
I found these options at https://gist.github.com/lucasallan/2f9b5c945280d226916c and https://github.com/jruby/jruby/wiki/Improving-startup-time.
.travis.yml
Outdated
# Travis by default also have "-Dcext.enabled=false" set in | ||
# JRUBY_OPTS, but JRuby 9 does not support C extensions at all | ||
# so it issues warning that will mess up the sterr checks. | ||
- JRUBY_OPTS="--server -Xcompile.invokedynamic=false" |
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.
Can we move setting of these variables to a global section to avoid duplication?
Yes. That makes sense. Thanks a lot for your feedback. I will try to push a new version tomorrow evening taking into account your findings. |
.travis.yml
Outdated
- rvm: ruby-head | ||
os: linux | ||
- rvm: ruby-head | ||
os: osx |
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.
Seeing the result of Travis, ruby-head (osx) environment in Travis server has problem right now.
You may be able to remove the ruby-head (osx) if you do not like to get the error every time.
https://travis-ci.org/cucumber/aruba/jobs/259520443
The java variants still don't finish in time 😞 |
1db3bff
to
93e5b24
Compare
I pushed two commits taking the tip from @junaruga into account by reducing the number of jobs per build:
|
https://travis-ci.org/cucumber/aruba/jobs/260478099 is with jruby only, but it doesn't matter how many parallel tests we're running. jruby also complains about a missing |
According to https://github.com/jruby/jruby/wiki/Improving-startup-time#use-the---dev-flag Those flags are set by
|
That makes things a lot simpler! 👍 |
00:00 min - start build |
I'd like to make the following suggestions to get things moving and to avoid dealing with endless backward-compatibility problems:
|
Currently we're not facing any backward compatible problems with any of the MRI rubies, correct? "Only" jruby is a "troublemaker". I ran the suite on my laptop with jruby and it was "slow" as well. So I think let's move the jrubies to the `allowed_failures` section - as you @mvz proposed - and try to tackle this after we fixed all other problems / polished the release.
Am 2. September 2017 20:35:24 MESZ schrieb Matijs van Zuijlen <notifications@github.com>:
…I'd like to make the following suggestions to get things moving and to
avoid dealing with endless backward-compatibility problems:
* Drop support for old rubies now, before the 1.0.0 release. We can
discuss what is a good definition of 'old'.
* Move the JRuby variants to the `allow_failures` section.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
#476 (comment)
|
I should have explained more. Yes, there are no problems right now, but if we do not drop official support for those old rubies right now, Aruba could be stuck with them for the entire 1.x cycle, meaning we cannot use modern Ruby syntax even if we want to, and/or we have to keep version checks lying around. Finally, debugging any issues on those older Rubies may require actually installing them which will become harder and harder. A counter-argument is the desire for RSpec to use Aruba 1.0 voiced in #363 (comment). |
Moving JRuby to |
@mvz you're right. personally I think we could release 2.0.0 right after 1.0.0 which drops support for those rubies. Not sure how to handle support best. |
Well, right after may be a little too soon, if we agree that releasing 2.0.0 in 2018 is fine then I'm fine with keeping support for Ruby 1.9.3 in 1.x. |
@maxmeyer are you going to update this PR or would you like me to do it? |
Feel free to fix it! |
c444a25
to
4a1b473
Compare
I'm going to |
4a1b473
to
1d9e679
Compare
This moves jruby to the "allowed_failures" group. Credits go to @mvz.
1d9e679
to
f87f38e
Compare
I found some time hacking on aruba. So I rebased the PR based on your work and squashed everything into a single commit. Feel free to merge if you're happy with this PR. |
Summary
This is a follow up to #470. It cleans up the travis configuration.
Details
Motivation and Context
See issue #470.
How Has This Been Tested?
Travis Build
Types of changes
Checklist: