Skip to content

Commit

Permalink
Add integration patches/CI for Ruby main and 3.3 (#2071)
Browse files Browse the repository at this point in the history
Ruby 3.3 is relatively the same as 3.2 with just one more test failure
due to conflicting error messages.
Ruby's master branch has added much more however. 
1. More tests revolving internal session caching on the SSL client. We
don't support these tests and I've adjusted accordingly.
2. We don't support the ancient MSIE extensions that this PKCS12 commit
introduces:
ruby/ruby@63e9eaa
I don't think there's an actual ask for us to support this, so I've
ifdefed out the symbols and skipped the test when building with AWS-LC.
3. The PKCS8 RSA private key in `test/openssl/pkey_rsa.rb` generated by
certtool isn't parsable by us. I've pinned down the reason to a missing
`NULL` field in the ASN1 contents. I've cut [an
issue](https://gitlab.com/gnutls/gnutls/-/issues/1632) to gnutls, more
details can be found there.
I've replaced the file that Ruby's been using for the time being and
replaced the original generation to use OpenSSL instead. OpenSSL's PKCS8
files adhere to the RFC.

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license and the ISC license.
  • Loading branch information
samuel40791765 authored Feb 12, 2025
1 parent fa44dbf commit 85a1a02
Show file tree
Hide file tree
Showing 6 changed files with 1,264 additions and 39 deletions.
17 changes: 16 additions & 1 deletion .github/workflows/integrations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,21 @@ jobs:
- name: Run libevent build
run: |
./tests/ci/integration/run_libevent_integration.sh
ruby-main:
if: github.repository_owner == 'aws'
runs-on: ubuntu-latest
name: Ruby main
steps:
- name: Install OS Dependencies
run: |
sudo apt-get update
sudo apt-get -y --no-install-recommends install cmake gcc ninja-build golang make autoconf ruby libyaml-dev
- uses: actions/checkout@v3
- name: Build AWS-LC, build ruby, run tests
run: |
./tests/ci/integration/run_ruby_integration.sh master
env:
FIPS: 1
ruby-releases:
if: github.repository_owner == 'aws'
strategy:
Expand All @@ -165,6 +180,6 @@ jobs:
- uses: actions/checkout@v3
- name: Build AWS-LC, build ruby, run tests
run: |
./tests/ci/integration/run_ruby_integration.sh ruby_3_2 ruby_3_1
./tests/ci/integration/run_ruby_integration.sh ruby_3_3 ruby_3_2 ruby_3_1
env:
FIPS: ${{ matrix.fips }}
Loading

0 comments on commit 85a1a02

Please sign in to comment.