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
There was incorrect backticks (`) instead of plus signs to denote method
references, and a typo.
[Fix GH-2016]
From: Olivier Lacan <hi@olivierlacan.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
select() is a crap API for even sleeping on sigwait_fd, so favor
the native_sleep-based functions when there are no FDs, instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65718 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
On osx build https://travis-ci.org/ruby/ruby/jobs/454309945,
```
1) Failure:
Fiddle::TestFunction#test_nogvl_poll [/Users/travis/build/ruby/ruby/test/fiddle/test_function.rb:95]:
slept amount of time.
Expected |200 - 322| (122) to be <= 100.
```
but it succeeds on my macOS machine as is. So it seems that the boundary is
just too strict and prone to random failure by overload.
To make osx Travis build usable, let me loosen the delta requirement.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65705 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
* ext/date/date_core.c (date_initialize): separate from
date_s_civil and obey the allocation framework.
* ext/date/date_core.c (datetime_initialize): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (d_lite_marshal_load): respect COMPLEX_DAT
bit in the pre-allocated structure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (d_lite_initialize_copy): do not change
COMPLEX_DAT bit, as the structure does not change. initialize
member-wise instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (set_to_simple, set_to_complex): always
set/reset COMPLEX_DAT bit, which is very tightly bound to the
structure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Since `.revision.time` recipe needs `$(BASERUBY)`, it should not
try to get updated unconditionally, or tarballs fail to build on
environments where BASERUBY is not available.
All developers who build frequently use GNU make anyway, don't
you?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65695 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
by making .revision.time PHONY. Prior to this commit, RUBY_DESCRIPTION
has been updated only when version.h (or tool/file2lastrev.rb) is updated.
.revision.time (REVISION_H) target internally has IFCHANGE to update
revision.h. So it doesn't touch revision.h when it's not updated,
and thus it's safe to run every time.
defs/gmake.mk: drop obsoleted reference to REVISION_FORCE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65692 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
space_size can be zero here, under the following script. We would
better bail out before bptr calculation.
% ./miniruby --dump=i -e '* = nil'
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,7)> (catch: FALSE)
0000 putnil ( 1)[Li]
0001 dup
0002 expandarray 0, 0
0005 leave
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e