Skip to content

Test against different OpenSSL library versions#20

Open
santiagorodriguez96 wants to merge 2 commits into
masterfrom
sr--test-against-different-openssl-versions
Open

Test against different OpenSSL library versions#20
santiagorodriguez96 wants to merge 2 commits into
masterfrom
sr--test-against-different-openssl-versions

Conversation

@santiagorodriguez96

@santiagorodriguez96 santiagorodriguez96 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Motivation

Similar to cedarcode/tpm-key_attestation#49.

We got a notification that ubuntu-20 images are being deprecated:

https://github.blog/changelog/2025-01-15-github-actions-ubuntu-20-runner-image-brownout-dates-and-other-breaking-changes/#ubuntu-20-image-is-closing-down

After upgrading to ubuntu-24 a lot of tests started to break due to the Rubies on those images coming with OpenSSL version 3+. That means that, by upgrading, we wouldn't have any way of testing against OpenSSL 1.1.1w

We still want to test against OpenSSL 1.1.1w despite it being EOL.

Summary

This PR updates our CI to manually install OpenSSL and Ruby so that we can test against different OpenSSL versions, without having to rely on the OpenSSL version that comes with ruby.

This also brings back the jobs ignored in c2c93d1 as now we can specify the jobs to use OpenSSL v1.1.1w.

The Ruby 2.4 job fails with:

```
ERROR: SSL verification error at depth 1: unable to get local issuer certificate (20)
ERROR: You must add /OU=GlobalSign Root CA - R3/... to your local trusted store
ERROR: Could not find a valid gem 'bundler' (~> 2.3.0) ... certificate verify failed
```

The problem is that `install-openssl` compiles OpenSSL with
`--prefix=$HOME/openssl`, so its default cert dir (`OPENSSLDIR`) is
`$HOME/openssl/ssl`, which is empty – the build has no CA trust store.
Ruby is then built against that OpenSSL
(`--with-openssl-dir=$HOME/openssl`), so every TLS call (`gem install`,
`bundle install`) can't validate `rubygems.org's` `GlobalSign` chain.
Ubuntu's real CA bundle lives at `/etc/ssl/certs/` but the custom OpenSSL
never looks there.
@santiagorodriguez96 santiagorodriguez96 force-pushed the sr--test-against-different-openssl-versions branch from 1b4325f to ef439e4 Compare June 23, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant