Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve reliability of non-MRI CI [changelog skip] #2428

Merged
merged 2 commits into from
Oct 15, 2020

Conversation

MSP-Greg
Copy link
Member

@MSP-Greg MSP-Greg commented Oct 14, 2020

Description

Two commits:

A. 'Improve reliability of non-MRI CI'

Jobs still occasionally freeze/time-out in test step.

  1. Allows jruby-head to fail (as done previously)

  2. Actions - change all Ubuntu JRuby OS's to 20.04 (18.04 uses JDK-8, 20.04 uses JDK-11)

  3. Integration tests (cluster, pumactl, single) - only run parallel on MRI Rubies

  4. helper.rb - TestSkips - add JRUBY_HEAD constant for use with non-parallel conditionals and skips

  5. test_puma_server.rb - jruby-head - run non-parallel

  6. test_puma_server_ssl.rb - TestPumaServerSSLClient tests - non-parallel on JRuby, add Errno::ECONNRESET to client net/https rescue for TruffleRuby

  7. test_puma_server_ssl.rb - TestPumaServerSSL#test_http_rejection - add Net::ReadTimeout to client net/https rescue for TruffleRuby

B. '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

  • I have reviewed the guidelines for contributing to this repository.
  • I have added an entry to History.md if this PR fixes a bug or adds a feature. If it doesn't need an entry to HISTORY.md, I have added [changelog skip] or [ci skip] to the pull request title.
  • I have added appropriate tests if this PR fixes a bug or adds a feature.
  • My pull request is 100 lines added/removed or less so that it can be easily reviewed.
  • If this PR doesn't need tests (docs change), I added [ci skip] to the title of the PR.
  • If this closes any issues, I have added "Closes #issue" to the PR description or my commit messages.
  • I have updated the documentation accordingly.
  • All new and existing tests passed, including Rubocop.

Jobs still occasionally freeze/time-out in test step.

1. Allows jruby-head to fail (as done previously)

2. Actions - change all Ubuntu JRuby OS's to 20.04 (18.04 uses JDK-8, 20.04 uses JDK-11)

3. Integration tests (cluster, pumactl, single) - only run parallel on MRI Rubies

4. `helper.rb` - `TestSkips` - add `JRUBY_HEAD` constant for use with non-parallel conditionals and skips

5. `test_puma_server.rb` - jruby-head - run non-parallel

6. `test_puma_server_ssl.rb` - `TestPumaServerSSLClient` tests - non-parallel on JRuby, add `Errno::ECONNRESET` to client net/https rescue for TruffleRuby

7. `test_puma_server_ssl.rb` - `TestPumaServerSSL#test_http_rejection` - add `Net::ReadTimeout` to client net/https rescue for TruffleRuby

Update test_puma_server_ssl.rb
@MSP-Greg MSP-Greg merged commit f9ee31c into puma:master Oct 15, 2020
@MSP-Greg MSP-Greg deleted the non-mri-serial branch October 15, 2020 03:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant