* Support skip_on :truffleruby
* Remove unused variable declaration
* Properly skip tests which need fork
* Improve NO_FORK_MSG
* Keep the Tempfile instances alive in test_redirect_io.rb
* Otherwise they could GC in the middle of the test, and the files could
then be deleted.
* Use a better way to find a free port
* Read directly from the socket in #read_and_drop
* There is no point to decode the bytes since we are closing the socket
in Puma::MiniSSL::Socket#close.
* Also, calling #engine_read_all might cause further SSL errors, which
could hide the first SSL error. This notably happens in
TestPumaServerSSLClient#test_verify_fail_if_no_client_cert
if the server is faster than the client. The error in that case is
"System error: Success - 0 (Puma::MiniSSL::SSLError)" which is not
actually an error, but there is also nothing to read further from SSL.
* TruffleRuby should pass the CI now, remove from allowed failures
* Use a timeout of 120 for all non-MRI implementations
* 60 doesn't seem enough in CI for TestThreadPool#test_trim on TruffleRuby.
* Fix check for cluster mode in integration tests
* Improve integration tests to fail more clearly if the pid file does not exist
* Make integration tests more robust
* Add skips for unreliable or racy tests
* Add ChangeLog entry
* No need to run RuboCop on non-MRI implementations
* This should speed up CI a bit for those jobs.
* Actions - Add nonMRIHead workflow - allow failure - JRuby, TruffleRuby
Also, on Windows, add Ruby 2.2 and fix compile code
* extconf.rb - minor fix for old Windows Rubies
* JRuby fixes for CI
1. lib/puma/minissl.rb - add 'correct' constants so CI will run
2. test/shell/t*.rb - extend time to start by two seconds for JRuby
* Delete .travis.yml
* Update ruby.yml
Ruby 2.4 thru 2.7 on all platforms
Ubuntu 2.3, macOS 2.3, & Windows 2.4 use OpenSSL 1.0.2, all others are 1.1.1
JRuby fails tests
* .travis.yml - remove jobs similar to Actions
* [ci skip] Require Changelog at PR time
We frequently forget to ask for a changelog entry, and then when we want to release the release maintainer has to go back and manually add them all. It would be better if the changelog was required at PR time so the original submitter can think of the best wording. If a PR is trivial people can add `[ci skip]` or `[changelog skip]`.
This implementation uses github actions.
* Use correct name of changelog file
The changelog is History.md not CHANGELOG.md