Misc #15220

Updated by jaruga (Jun Aruga) 6 months ago

Currently Travis CI test cases are running on OpenSSL 1.0.1f as the default setting.

I want to add the latest version OpenSSL 1.1.1 to the gcc-8 test case on Travis CI.

I sent pull-request for that.

## Motivation

The motivation is that ruby/openssl has very good CI environment covering the supported SSL collections.

However the benefits to enable OpenSSL 1.1.1 for the main repository (ruby/ruby) are

1. To make us check the entire logic on the latest OpenSSL as early as possible. For example, I can find this kind of issue [1] as early as possible.

2. We can check it on ruby-2.5 branch too. That is related to #15219 [2]

As we are working for OpenSSL 1.1.1 on Windows CI [3] and python project is testing on the custom OpenSSL built from the source code [4], I think that we can adapt it to Travis CI.

## Detail of implementation

In the new process, the OpenSSL is built from source code.
That takes 134.63 sec = 2 min 14 sec
I could not find the better idea than that.

I found the binary openssl package that someone is managing [5].
But it might not be valid for Trusty. And it seems that the repository is quite personal one.

I am using `cache/directories` element [6].

I created `tool/` script. But some logic might be moved to `` like [7].

How do you think?

* [1] net/http, net/ftp: fix session resumption with TLS 1.3:
* [2] Ruby 2.5.X supporting OpenSSL 1.1.1 and TLS 1.3:
* [3] OpenSSL 1.1.1 soon available from MSYS2:
* [4] Python with custom OpenSSL:
* [5] Personal(?) openssl repository:
* [6] Travis cache:
* [7] deduce versioned tools from CC: