and thus it does not work with `-v` for investigating hangs well.
This seems to be by design: https://github.com/travis-ci/travis-ci/issues/4190
Also I simplified a comment about `homebrew.update`.
I had this in-flight change while editing e05f397f08
but forgot to ammend this.
Set osx_image under each configuration, as it decides the OS (and
kernel) version not only Xcode version, and the configuration name
contains the kernel version.
Even after 19d592dc82, the retry seems not
functional. Let's just add --debug from the beginning because an output
of each step is collapsed and we don't see `make up` output so often.
Eregon did not want 7b9dd379bf
because people only see Travis job name and don't see .travis.yml.
I believe the new job name is simple and informative enough to explain
why it exists.
We have no clear assertion or check of BASERUBY requirement.
I want to make the current situation more explicit.
I'm NOT saying we should support Ruby 1.9.3 here,
but I'm just checking the situation as per 05bc14d81a.
FYI, at this moment Ruby 1.8.7 did not work with this Travis config, like:
https://travis-ci.org/k0kubun/ruby/builds/538459100
In my understanding, `VM_CHECK_MODE` should be Integer and I'm not sure
how `-DVM_CHECK_MODE` would behave. To make the matters simple, let me
pass the mode explicitly.
Seems clang-7 has false-positives around memory sanitizer.
This line should not be reported because the memory region is
correctly unpoisoned beforehand:
https://travis-ci.org/ruby/ruby/jobs/524766381
Clang 8 seems to fix it.
After `GC.compact`, test/shell/test_command_processor.rb seems to be made
unstable on osx Travis like https://travis-ci.org/ruby/ruby/jobs/523487997.
For investigating whether it's impacting that or not, let me try isolating
that for osx Travis for now.
This reverts commit a1b5d20068.
Revert "Revert "Skip recompiling tests on i686 Linux""
This reverts commit 7b88a9207b.
Revert "Simplify matrix for debugging"
This reverts commit e85d6c5c5e.
Sorry, these 3 commits were under debugging in
https://github.com/ruby/ruby/pull/2129 but accidentally merged by using
`git svn dcommit` instead of `git push` to the topic branch 🙇
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Actually what has randomly failed was `make install`:
https://travis-ci.org/ruby/ruby/jobs/512988177
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to check if it resolves "Permission denied" problem.
https://travis-ci.org/ruby/ruby/jobs/507381339https://travis-ci.org/ruby/ruby/jobs/507392198
TBH I'm not exactly sure why it happens, but I don't have infinite time
to understand this. It would be appreciated to identify the root cause
and remove `DISABLE_CACHE` again if you're sure your patch fixes the problem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
r66692's `export RUBYOPT="-w"` does not seem to work.
Passing `RUBYOPT="-w"` to `make test-all`'s argument works.
Let's try having this for all environments.
(see r66690 for motivation)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
actually current test-all does not fail with RUN_OPTS="-w".
and chkbuild seems to use RUBYOPT="-w"
bad4681c30/chkbuild/ruby.rb (L605)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
currently Travis and AppVeyor does not run tests with test-all,
but RubyCI uses -w and currently all RubyCIs are failing.
It might be better to fail at least one CI in Travis to notice it
earlier.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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