Bug #19999
closedBackport: .travis.yml and fixed commits
Description
This is a backport suggestion to make Travis CI stable on the Ruby stable branches ruby_3_2 and etc.
Travis CI for Ruby master branch became stable recently with arm64, ppc64le, s390x and arm32 cases. All the CI cases are running without allow_failures
option. And more importantly, I simplified the .travis.yml
to maintain it easily without sacrificing performance. So, I think it may be a good time to backport the Travis CI configuration file .travis.yml
without some commits to fix some issues.
https://app.travis-ci.com/github/ruby/ruby/builds/267166336
I can see ruby_3_2 and ruby_3_1 branches on the Travis CI page below. There are no ruby_3_0 and ruby_27 branches there. I am not sure how the branches are used.
https://app.travis-ci.com/github/ruby/ruby/branches
But it's beneficial to fix at least Travis CI for ruby_3_2 branch to save the Travis infra resource.
Seeing the ruby_3_2 log, the ppc64le is already timeout after running maximum 50 minutes.
https://app.travis-ci.com/github/ruby/ruby/builds/267156055
https://app.travis-ci.com/github/ruby/ruby/jobs/613043898#L2325
[1/2] TestFiberQueue#test_pop_with_timeout_and_value = 0.00 s
[2/2] TestFiberQueue#test_pop_with_timeout====[ 540 seconds still running ]====
====[ 1080 seconds still running ]====
====[ 1620 seconds still running ]====
====[ 2160 seconds still running ]====
First you can make the tests fail rather than stucking by the commit below.
https://github.com/ruby/ruby/commit/3eaae72855b23158e2148566bb8a7667bfb395cb
As this stucking issue happened with the combination of the optflags=-O1
on ppc64le, I think you avoid the issue by porting the .travis.yml
from the master
branch where the optflags=-O1
is not used in ppc64le. As there are many commits modifying .travis.yml
on the master branch, maybe it's easy to copy the entire .travis.yml
file into the backported branches.
Updated by jaruga (Jun Aruga) about 1 year ago
- Status changed from Open to Closed
Updated by nagachika (Tomoyuki Chikanaga) about 1 year ago
- Backport changed from 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: REQUIRED to 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: DONE
ruby_3_2 4b16259d1d6f408a88ac2c8d04ed78e87bdeda9f merged revision(s) 9682275b5493439334fb3933ce2da3b95271eb1c.
Updated by nagachika (Tomoyuki Chikanaga) about 1 year ago
Thank you for your suggestion. I copied the whole .travis.yml
from current master branch at 4b16259d1d6f408a88ac2c8d04ed78e87bdeda9f.
Updated by nagachika (Tomoyuki Chikanaga) about 1 year ago
Hmm, it comes into some timeout on pc64le-linux and arm32-linux.
I will revert it at this moment.
Updated by nagachika (Tomoyuki Chikanaga) about 1 year ago
- Backport changed from 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: DONE to 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: REQUIRED
Updated by jaruga (Jun Aruga) about 1 year ago
nagachika (Tomoyuki Chikanaga) wrote in #note-5:
Hmm, it comes into some timeout on pc64le-linux and arm32-linux.
I will revert it at this moment.
I guess your failing build for ruby_3_2 is below.
https://app.travis-ci.com/github/ruby/ruby/builds/267334752
You can try Travis CI on your forced repository or by sending a PR to the ruby_3_2 branch to check if the Travis CI passes rather than pushing the branch directly.
ppc64le
https://app.travis-ci.com/github/ruby/ruby/jobs/613516155#L2031
1) Failure:
TestRDocGeneratorJsonIndex#test_generate [/home/travis/build/ruby/ruby/test/rdoc/test_rdoc_generator_json_index.rb:108]:
.js files should be the same timestamp of original
This is a known issue https://github.com/ruby/rdoc/issues/1048. You can backport the commits (674db715f5a141891a66e67004ca138696d3b0ad and) 1f1b9b0942ec12dde1af8000f8cb84692904fccc on the master branch to fix (pend) it.
arm32
https://app.travis-ci.com/github/ruby/ruby/jobs/613516157#L2700
1) Failure:
TestReadline#test_interrupt_in_other_thread [/home/travis/build/ruby/ruby/test/readline/test_readline.rb:587]:
Unknown failure with exit status #<Process::Status: pid 27602 exit 1>
Log: ** START **Readline::VERSION is 8.1.
#<Thread:0xf498ca34 /tmp/interrupt_in_other_thread20231118-19558-rymsoj:9 run> terminated with exception (report_on_exception is true):
/tmp/interrupt_in_other_thread20231118-19558-rymsoj:13:in `readline': stack level too deep (SystemStackError)
from /tmp/interrupt_in_other_thread20231118-19558-rymsoj:13:in `block in <main>'
/tmp/interrupt_in_other_thread20231118-19558-rymsoj:13:in `readline': stack level too deep (SystemStackError)
from /tmp/interrupt_in_other_thread20231118-19558-rymsoj:13:in `block in <main>'
It seems that the test/readline/test_readline.rb
is gone with the commit 59fd67fc3d405e529e038172e769ff20a8fb5535 .
And the related issue ticket is https://bugs.ruby-lang.org/issues/18393 .
Updated by jaruga (Jun Aruga) about 1 year ago
- Backport changed from 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: REQUIRED to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED
@nagachika (Tomoyuki Chikanaga) I sent the PR to the ruby_3_2 branch to pass Travis CI with the latest config file that exists on master and ruby_3_3 branches. You can do cherry-pick the commits or merge the PR.
https://github.com/ruby/ruby/pull/9410
I also want to see Travis to pass on ruby_3_1, ruby_3_0 branches too. I can assist by sending the PRs to the branches.
Updated by jaruga (Jun Aruga) 12 months ago
- Backport changed from 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: DONE
jaruga (Jun Aruga) wrote in #note-8:
@nagachika (Tomoyuki Chikanaga) I sent the PR to the ruby_3_2 branch to pass Travis CI with the latest config file that exists on master and ruby_3_3 branches. You can do cherry-pick the commits or merge the PR.
https://github.com/ruby/ruby/pull/9410
The PR above to the ruby_3_2 branch was merged now.
Here is the Travis log on ruby_3_2 as a reference.
https://app.travis-ci.com/github/ruby/ruby/builds/268642167
So, I would change the backport status to DONE. Thank you!