Improve reliability of non-MRI CI [changelog skip] #2428
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Two commits:
A. 'Improve reliability of non-MRI CI'
Jobs still occasionally freeze/time-out in test step.
Allows jruby-head to fail (as done previously)
Actions - change all Ubuntu JRuby OS's to 20.04 (18.04 uses JDK-8, 20.04 uses JDK-11)
Integration tests (cluster, pumactl, single) - only run parallel on MRI Rubies
helper.rb
-TestSkips
- addJRUBY_HEAD
constant for use with non-parallel conditionals and skipstest_puma_server.rb
- jruby-head - run non-paralleltest_puma_server_ssl.rb
-TestPumaServerSSLClient
tests - non-parallel on JRuby, addErrno::ECONNRESET
to client net/https rescue for TruffleRubytest_puma_server_ssl.rb
-TestPumaServerSSL#test_http_rejection
- addNet::ReadTimeout
to client net/https rescue for TruffleRubyB. 'test/integration.rb - hot_restart_does_not_drop_connections - another rescue error'
Added another exception to rescue trapping. As the test creates a lot of client connections in thread(s), any error not caught will often abort the CI. Add an error that is intermittently raised on Ubuntu, it should trigger a retry.
Notes
PR only changes test file code and the Actions non_mri.yml workflow file. From inspecting here and there, there aren't many repos testing on jruby-head. It is 'allow failure'.
Your checklist for this pull request
[changelog skip]
or[ci skip]
to the pull request title.[ci skip]
to the title of the PR.#issue
" to the PR description or my commit messages.