Project

General

Profile

Actions

Bug #19999

closed

Backport: .travis.yml and fixed commits

Bug #19999: Backport: .travis.yml and fixed commits

Added by jaruga (Jun Aruga) almost 2 years ago. Updated over 1 year ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:115338]

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) almost 2 years ago Actions #1

  • Status changed from Open to Closed

Updated by jaruga (Jun Aruga) almost 2 years ago Actions #2

  • Description updated (diff)

Updated by nagachika (Tomoyuki Chikanaga) almost 2 years ago Actions #3 [ruby-core:115413]

  • 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) almost 2 years ago Actions #4 [ruby-core:115414]

Thank you for your suggestion. I copied the whole .travis.yml from current master branch at 4b16259d1d6f408a88ac2c8d04ed78e87bdeda9f.

Updated by nagachika (Tomoyuki Chikanaga) almost 2 years ago Actions #5 [ruby-core:115415]

Hmm, it comes into some timeout on pc64le-linux and arm32-linux.
I will revert it at this moment.

Updated by nagachika (Tomoyuki Chikanaga) almost 2 years ago Actions #6

  • 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) almost 2 years ago Actions #7 [ruby-core:115418]

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) almost 2 years ago Actions #8 [ruby-core:115998]

  • 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) over 1 year ago Actions #9 [ruby-core:116525]

  • 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!

Actions

Also available in: PDF Atom