mirror of
https://github.com/openssl/openssl.git
synced 2026-01-18 17:11:31 +01:00
New version is out. Signed-off-by: Norbert Pocs <norbertp@openssl.org> Reviewed-by: Dmitry Misharov <dmitry@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org> (Merged from https://github.com/openssl/openssl/pull/29566)
109 lines
4.5 KiB
YAML
109 lines
4.5 KiB
YAML
# Notes:
|
|
# /__w/openssl is the path that github bind-mounts into the container so the ci
|
|
# filesystem for this job can be reached. Please note that any changes made to
|
|
# this job involving file system paths should be made prefixed with, or relative
|
|
# to that directory
|
|
name: Interoperability tests with GnuTLS, NSS and OpenSSH
|
|
on:
|
|
schedule:
|
|
- cron: '55 02 * * *'
|
|
workflow_dispatch:
|
|
|
|
permissions: {}
|
|
|
|
jobs:
|
|
test:
|
|
if: github.repository == 'openssl/openssl'
|
|
runs-on: ubuntu-22.04
|
|
container:
|
|
image: docker.io/fedora:40
|
|
options: --sysctl net.ipv6.conf.lo.disable_ipv6=0
|
|
timeout-minutes: 90
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
COMPONENT: [gnutls, nss]
|
|
env:
|
|
COMPONENT: ${{ matrix.COMPONENT }}
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- name: Display environment
|
|
run: export
|
|
- name : Install needed tools
|
|
run: |
|
|
dnf -y install perl gcc rpmdevtools dnf-utils make tmt-all beakerlib \
|
|
fips-mode-setup crypto-policies-scripts
|
|
- name: install interop tests
|
|
run: |
|
|
cd ${GITHUB_WORKSPACE}
|
|
git clone --branch=openssl-v0.1 --depth=1 https://gitlab.com/redhat-crypto/tests/interop.git
|
|
- name: build openssl as an rpm
|
|
run: |
|
|
mkdir -p /build/SPECS && cd /build && echo -e "%_topdir /build\n%_lto_cflags %{nil}" >~/.rpmmacros && rpmdev-setuptree
|
|
cd /build && cp ${GITHUB_WORKSPACE}/interop/openssl/openssl.spec SPECS/ && \
|
|
cd SPECS/ && source ${GITHUB_WORKSPACE}/VERSION.dat && \
|
|
sed -i "s/soversion 3/soversion $SHLIB_VERSION/;s/^Version: .*\$/Version: $MAJOR.$MINOR.$PATCH/" openssl.spec && \
|
|
sed -i "/^%attr.*_libdir.*engines-/ d" openssl.spec && \
|
|
sed -i 's/^Release: .*$/Release: dev/' openssl.spec && \
|
|
sed -i "/^%{_bindir}\/c_rehash$/ d" openssl.spec
|
|
yum-builddep -y /build/SPECS/openssl.spec # just for sure nothing is missing
|
|
mkdir -p /build/SOURCES
|
|
tar --transform "s/^__w\/openssl\/openssl/openssl-$MAJOR.$MINOR.$PATCH/" -czf /build/SOURCES/openssl-$MAJOR.$MINOR.$PATCH.tar.gz "$GITHUB_WORKSPACE"
|
|
rpmbuild -bb /build/SPECS/openssl.spec
|
|
rpm -i --force /build/RPMS/x86_64/openssl-*
|
|
cp ${GITHUB_WORKSPACE}/interop/openssl/openssl.cnf /etc/pki/tls/openssl.cnf
|
|
- name: Run interop tests
|
|
run: |
|
|
cd interop
|
|
tmt run -av plans -n interop tests -f "tag: interop-openssl & tag: interop-$COMPONENT" provision -h local --feeling-safe execute -h tmt --interactive
|
|
openssl version
|
|
echo "Finished - important to prevent unwanted output truncating"
|
|
openssh_interop:
|
|
if: github.repository == 'openssl/openssl'
|
|
name: "openssh interop ${{ matrix.branch.openssl }}"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
branch: [
|
|
{ openssl: 'master', openssh: 'openssl-master', openssl_config: 'no-docs'},
|
|
{ openssl: 'openssl-3.6', openssh: 'openssl-3.6', openssl_config: 'no-docs'},
|
|
{ openssl: 'openssl-3.5', openssh: 'openssl-3.5', openssl_config: 'no-docs'},
|
|
{ openssl: 'openssl-3.4', openssh: 'openssl-3.4', openssl_config: 'no-docs'},
|
|
{ openssl: 'openssl-3.3', openssh: 'openssl-3.3', openssl_config: 'no-docs'},
|
|
{ openssl: 'openssl-3.2', openssh: 'openssl-3.2', openssl_config: 'no-docs'},
|
|
{ openssl: 'openssl-3.0', openssh: 'openssl-3.0', openssl_config: ''}
|
|
]
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
EPHEMERAL_VM: yes
|
|
TEST_SSH_UNSAFE_PERMISSIONS: 1
|
|
TEST_SSH_HOSTBASED_AUTH: yes
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
ref: ${{ matrix.branch.openssl }}
|
|
fetch-depth: 1
|
|
- name: config
|
|
run: ./config --banner=Configured -fPIC --prefix=/opt/openssl ${{ matrix.openssl_config }} shared -Wl,-rpath,/opt/openssl/lib64 && perl configdata.pm --dump
|
|
- name: make
|
|
run: |
|
|
make -s -j4
|
|
make -s -j4 install_sw
|
|
- name: install dependencies of openssh
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get -yq install autoconf zlib1g-dev
|
|
- name: run openssh
|
|
run: |
|
|
git clone --branch master --depth 1 https://github.com/openssh/openssh-portable.git
|
|
cd openssh-portable
|
|
sh ./.github/setup_ci.sh ${{ matrix.branch.openssh }} ubuntu-latest
|
|
autoreconf
|
|
sh ./.github/configure.sh ${{ matrix.branch.openssh }}
|
|
make clean
|
|
make -s -j4
|
|
sh ./.github/run_test.sh
|