With travis_wait, we may not need -j3 for test-all anymore, but still we
need to avoid hanging on building Ruby somehow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Using -v somehow makes test-all on osx stable. Let me check if travis_wait
solves the issue or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Even building ruby seems to hang for unknown reasons.
https://travis-ci.org/ruby/ruby/jobs/471021727
Travis's osx environment is too fragile. Avoid anything dangerous.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
osx build has failed too often. we don't know why.
To know which test hangs forever, we might want to have hard timeout for
all test case (like 9min, slightly less than no-output timeout) in test-all.
But it's a little hard to implement and I would workaround an unknown
cause somehow.
It's known that -j is harmful for some tests in test-all. Let's try to
remove it first, and if it doesn't work, I'll resurrect -v option to
easily know which test is the culprit.
Slow correctness is much better than fast false-positive.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Before this changeset (since r58071) we did not download files
from unicode.org but just touch some files. This is a kind of
hack that people normally don't do at home.
We are caching other files between builds now. Why not also save
those files downloaded from elsewhere. This covers more
realistic workload, I guess.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
`[` is a meta character in YAML. `- [` starts an array,
so it should end with `]`; but it was not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
It was probably me, 7 years ago, in r33844, who started overly
quoting YAML strings. But now, this file grown up 50+ times from
6 lines to more than 300. It is more annoying than convenient to
quote everything to add backslashes here and there.
Just use quotes only when necessary.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
GCC_FLAGS is not an array and CC is finally passed to configure as
single string. Pass CC via the environment variable, so it does
not need to be quoted anymore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Exclude OpenSSL because we don't plan to debug libssl,
also track origins of uninitialized bits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: use dedicated flags, cflags and others, not to
override optflags, warnflags and debugflags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
When CFLAGS is passed on travis, warnflags seems not working.
Let's add them directly to prevent clang form messing up the logs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
OK, nobody is actively willing to maintain this configuration. Just
stop annoying people by build failures. See:
https://travis-ci.org/ruby/ruby/jobs/455377387
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Now that ccache is enabled. Compilations are made IO heavy, not CPU
bound. This means parallel jobs beyond CPU count could gain more
speed. From my experiment, I can conclude the good old "number of
cores plus one" tactics works the best.
The experiment: https://travis-ci.org/shyouhei/ruby/builds/454891855
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Travis has `cache: ccache` feature so let us enable it. Also, because
`config.cache` is generated during the compilation why not cache that
file for a later use. [fix GH-2013]
Caveats:
- When something went wrong, cache entries can be deleted from
https://travis-ci.org/ruby/ruby/caches (requires login).
- See `ccache(1)` manual page for the new environment variables.
- `ccache` thinks two compilations are not identical if they produce
different diagnostics. The -fno-diagnostics-color option is to
prevent such cache missihts only because TTY is present / absent at
the compilation time.
- In this changeset two "ccache --show-stats" invocations are inserted
before and after the compilation to measure cache hit rates etc.
Will revisit their outputs once the cache is warmed up.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for now. This seems to get unstable after r65691.
test/excludes/_travis/osx: renamed from test/excludes/_travis because
it's only for osx builds.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
it seems to be more stable than the timing we upgraded travis image.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Sorry, seen the failures again. Was a wrong idea to delete
the --exclude.
See https://travis-ci.org/ruby/ruby/jobs/454329443#L2233
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
To reduce the amount of output, prefer --tty=no instead of
--color=never. This option not only disables color output but also
kill some tty-related features, like spinners. Travis limits its
output by the physical size of the log, not by the number of lines.
This change should make more room for new logs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
While we are experiencing build failures, no hangs had been
seen for a while. Also it seems the excluded tests now pass.
I think it's time to delete this line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Tests are failing due to network timeouts. Temporary allow failrues for them.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
xeinal for Linux and xcode 10.1 for osx. Also deleted few outdated
lines that are no longer necessary.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
The "osx build randomly fails with `-j`" happens on make -j test-all.
Should be safe to do make -j all.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Unaligned word access warnings generated by UBSAN are often
treated well already, depending on this macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
I remember this configuration unveiled several bugs before.
Better check it occasionally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Inspired by [GH-1984], let us add some tests that run only
once a day. These configurations are either slow to compile
or slow to run. But I think they are worth done occasionally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Seems it is failing to compile right now; make it mandatory
so that other devs can be aware of it.
Will revert this change once the source code gets stable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
It looks like mspec worker may immediately die on Linux as well.
https://travis-ci.org/ruby/ruby/jobs/447018758
Dropping -j and add -fs to know which test dies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to shorten time taken for finishing overall builds.
appveyor.yml: comment the same intention in AppVeyor as well
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because it may hang with no output like this:
https://travis-ci.org/ruby/ruby/jobs/445101860
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
https://travis-ci.org/ruby/ruby/jobs/444232677
Instead of that, add -fs to know problematic test case when failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-v is too long, and "--color=never --job-status=normal" is too verbose.
Trying --job-status=replace to make Travis log easier to read.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
osx build is stucking somewhere. We want to debug that.
https://travis-ci.org/ruby/ruby/jobs/444059226
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
That was a workaround to make rubyci green for a short term after the
MJIT merge. As we've done many portability fixes for MJIT, let's try
running test_jit on all rubyci platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
somehow it gets stable there days...
Later, we may be able to add wrapper to apply timeout appropriately
and dump threads, in case that it stucks. It's not super easy to write
it, so this commit just tries to enable osx for now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This is a better-than-nothing compilation check that compiles
32bit binary on a 64bit VM.
Commented out are universal.i386-darwin17 biulds, which I think
are in very low priority.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Now that we have allow_failures, why not add configurations
that are prone to fail. The first thing I want to add is
$CC -ansi -pedantic, which spots lots of bugs on my local
machine.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Now that we have allow_failures, why not add configurations
that are prone to fail. The first thing I want to add is
$CC -ansi -pedantic, which spots lots of bugs on my local
machine.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
You don't have to use `before_install` to introduce
new environment variables; that is to be done using
`env` command.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml (before_script): spec/ruby has been incorporated
already, no pull-requests to merge.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml (before_install): split shell commands into the
matrix per OSs, so that the commands will appear in the logs
separately.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because it succeeded https://travis-ci.org/ruby/ruby/jobs/442733840.
It looks that it randomly succeeds. Let's just leave it and see how
stable it is, starting from `allow_failures` because it hasn't hanged
only once so far.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
OpenSSL error was fixed but r65124 hanged too
https://travis-ci.org/ruby/ruby/jobs/442727035.
So it seems to be an independent issue.
Let me try removing -j.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
add OS=osx compiler=clang build matrix so that we can make sure
things are built smoothly on that platform.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because gcc-8 setup is super unstable like this
https://travis-ci.org/ruby/ruby/jobs/441528813
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
I heard at least Shibata-san sees the channel for the notification.
But I want #alets to have all CI failure notifications too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_jit.rb: with environment variable RUBY_FORCE_TEST_JIT, we can force
to test JIT availability.
I wanted to have such CI, but Travis was the only option which I can
modify easily.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* The new one produces many warnings like:
warning: Insecure world writable dir /usr/local/clang-5.0.0/bin in PATH, mode 040777
* Workaround from https://blog.travis-ci.com/2017-12-12-new-trusty-images-q4-launch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit reverts r60736.
Shibata-san reported the cause of r60736 to Travis and it seems fixed:
https://github.com/travis-ci/travis-ci/issues/8780
In another CI, I found "::1 ip6-localhost ip6-loopback" in build
system information, unlike "::1 localhost ip6-localhost ip6-loopback"
that had failed in Ruby's CI on Travis.
Let's try Container-based environment again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Container-based Trusty environment (sudo: false) does not support IPv6.
https://github.com/travis-ci/travis-ci/issues/3302
And the image has "::1 localhost ip6-localhost ip6-loopback" entry in
addition to "127.0.0.1 localhost" in /etc/hosts.
Thus when it can resolve localhost to ::1 and CI fails.
To resolve this, at least we need to modify /etc/hosts for now but we
can't modify /etc/hosts without sudo.
So I enabled sudo. As Sudo-enabled VM didn't have "::1 localhost" entry,
this change fixed the cause without touching /etc/hosts.
Since boot of `sudo: required` is slower than `sudo: false`, please revert
this commit anytime when Container-based Trusty environment is updated and
::1 issue has gone.
https://docs.travis-ci.com/user/reference/overview/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Encrypted slack token.
* Only notify when build fails and it recovered.
* Only notify trunk build without pull requests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e