@@ -68,115 +68,3 @@ jobs:
6868 - name : rake test
6969 run : bundle exec rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_TEST_ALL=1
7070 timeout-minutes : 5
71-
72- test-openssls :
73- name : >-
74- ${{ matrix.openssl }} ${{ matrix.name-extra }}
75- runs-on : ubuntu-latest
76- strategy :
77- fail-fast : false
78- matrix :
79- name-extra : [ '' ]
80- openssl :
81- # https://openssl-library.org/source/
82- - openssl-1.1.1w # EOL 2023-09-11, still used by RHEL 8 and Ubuntu 20.04
83- - openssl-3.0.16 # Supported until 2026-09-07 (LTS)
84- - openssl-3.1.8 # EOL 2025-03-14
85- - openssl-3.2.4 # Supported until 2025-11-23
86- - openssl-3.3.3 # Supported until 2026-04-09
87- - openssl-3.4.1 # Supported until 2026-10-22
88- - openssl-3.5.0 # Supported until 2030 (LTS)
89- - openssl-master
90- # http://www.libressl.org/releases.html
91- - libressl-3.9.2 # EOL 2025-04-05
92- - libressl-4.0.0 # Supported until 2025-10-08
93- - libressl-4.1.0 # Supported until 2026-04-28
94- # https://github.com/aws/aws-lc/tags
95- - aws-lc-latest
96- include :
97- - { name-extra: 'without legacy provider', openssl: openssl-3.5.0, append-configure: 'no-legacy' }
98- - { openssl: aws-lc-latest, skip-warnings: true }
99- steps :
100- - name : repo checkout
101- uses : actions/checkout@v5
102-
103- - id : cache-openssl
104- uses : actions/cache@v4
105- with :
106- path : ~/openssl
107- key : openssl-${{ runner.os }}-${{ matrix.openssl }}-${{ matrix.append-configure || 'default' }}
108- if : matrix.openssl != 'openssl-master' && matrix.openssl != 'libressl-master' && matrix.openssl != 'aws-lc-latest'
109-
110- - name : Compile OpenSSL library
111- if : steps.cache-openssl.outputs.cache-hit != 'true'
112- run : |
113- # Enable Bash debugging option temporarily for debugging use.
114- set -x
115- mkdir -p tmp/build-openssl && cd tmp/build-openssl
116- case ${{ matrix.openssl }} in
117- openssl-1.*)
118- OPENSSL_COMMIT=$(echo ${{ matrix.openssl }} | sed -e 's/^openssl-/OpenSSL_/' | sed -e 's/\./_/g')
119- git clone -b $OPENSSL_COMMIT --depth 1 https://github.com/openssl/openssl.git .
120- echo "Git commit: $(git rev-parse HEAD)"
121- # shared is required for 1.0.x.
122- ./Configure --prefix=$HOME/openssl --libdir=lib shared linux-x86_64
123- make depend && make -j4 && make install_sw
124- ;;
125- openssl-*)
126- OPENSSL_COMMIT=${{ matrix.openssl == 'openssl-master' && 'master' || matrix.openssl }}
127- git clone -b $OPENSSL_COMMIT --depth 1 https://github.com/openssl/openssl.git .
128- echo "Git commit: $(git rev-parse HEAD)"
129- ./Configure --prefix=$HOME/openssl --libdir=lib enable-fips no-tests ${{ matrix.append-configure }}
130- make -j4 && make install_sw && make install_fips
131- ;;
132- libressl-*)
133- curl -L https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${{ matrix.openssl }}.tar.gz | \
134- tar xzf - --strip-components=1
135- ./configure --prefix=$HOME/openssl
136- make -j4 && make install
137- ;;
138- aws-lc-*)
139- git clone https://github.com/aws/aws-lc.git .
140- AWS_LC_RELEASE=$(git tag --sort=-creatordate --list "v*" | head -1)
141- git checkout $AWS_LC_RELEASE
142- cmake -DCMAKE_INSTALL_PREFIX=$HOME/openssl -DCMAKE_INSTALL_LIBDIR=lib
143- make -j4 && make install
144- ;;
145- *)
146- false
147- ;;
148- esac
149-
150- - name : load ruby
151- uses : ruby/setup-ruby@v1
152- with :
153- ruby-version : ' 3.0'
154- bundler-cache : true
155-
156- - name : enable mkmf verbose
157- run : echo "MAKEFLAGS=V=1" >> $GITHUB_ENV
158-
159- - name : set flags to check compiler warnings
160- run : echo "RUBY_OPENSSL_EXTCFLAGS=-Werror" >> $GITHUB_ENV
161- if : ${{ !matrix.skip-warnings }}
162-
163- - name : rake compile
164- run : bundle exec rake debug_compiler compile -- --with-openssl-dir=$HOME/openssl
165-
166- - name : rake debug
167- run : bundle exec rake debug
168-
169- - name : rake test
170- run : bundle exec rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_TEST_ALL=1
171- timeout-minutes : 5
172-
173- # Run only the passing tests on the FIPS module as a temporary workaround.
174- # TODO Fix other tests, and run all the tests on FIPS module.
175- - name : rake test_fips
176- run : |
177- sed -e "s|OPENSSL_DIR|$HOME/openssl|" tool/openssl_fips.cnf.tmpl > tmp/openssl_fips.cnf
178- export OPENSSL_CONF=$(pwd)/tmp/openssl_fips.cnf
179- bundle exec rake debug
180- bundle exec rake test_fips TESTOPTS="-v --no-show-detail-immediately" OSSL_TEST_ALL=1
181- timeout-minutes : 5
182- if : ${{ startsWith(matrix.openssl, 'openssl-3') || matrix.openssl == 'openssl-master' }}
0 commit comments