Skip to content

cache OpenSSL build output #25

cache OpenSSL build output

cache OpenSSL build output #25

# GitHub Actions for genCMPClient
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) Siemens AG, 2021-2024
name: OpenSSL compatibility
on: push
jobs:
openssl_version:
strategy:
fail-fast: false
matrix:
branch: [openssl-3.0, openssl-3.1, openssl-3.2, openssl-3.3, openssl-3.4]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: cache openssl
id: cache-openssl
uses: actions/cache@v3
env:
cache-name: git ls-remote https://github.com/openssl/openssl.git ${{matrix.branch}} | awk '{print $1}'
with:
path: /usr/local/${{ matrix.branch }}
key: openssl-${{ env.cache-name }}-${{ runner.os }}
- if: ${{ steps.cache-openssl.outputs.cache-hit != 'true' }}
name: build openssl
run: |
git clone https://github.com/openssl/openssl.git --branch ${{ matrix.branch }} --depth 1
cd openssl
./config --banner=Configured --debug --strict-warnings --prefix=/usr/local/${{ matrix.branch }} shared zlib
make -s -j4
sudo make install_sw install_ssldirs
cd ..
- name: set OpenSSL env
run: |
echo "OPENSSL_DIR=/usr/local/${{ matrix.branch }}" >> $GITHUB_ENV
echo "OPENSSL_LIB=/usr/local/${{ matrix.branch }}/lib64" >> $GITHUB_ENV
echo "/usr/local/${{ matrix.branch }}/bin" >> "$GITHUB_PATH"
echo "LD_LIBRARY_PATH=/usr/local/${{ matrix.branch }}/lib64:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
- name: make
run: |
make -f Makefile_v1
./cmpClient -help
make -f Makefile_v1 clean_all
USE_LIBCMP=1 STATIC_LIBCMP=1 make -f Makefile_v1
./cmpClient -help
make -f Makefile_v1 clean
- name: test_Mock
# Testing only with latest branch as it is consuming resources from github runner.
# OpenSSL-3.0 is tested in build.yml as it is default version in Ubuntu 22.04.
if: matrix.branch == 'openssl-3.4'
run: |
USE_LIBCMP=1 make -f Makefile_v1 test_Mock
make -f Makefile_v1 clean_all
- name: cmake
run: |
cmake .
make
./cmpClient -help
mkdir build-with-libcmp
cd build-with-libcmp
USE_LIBCMP=1 cmake -S .. -B .
make clean build
DESTDIR=tmp make install uninstall
make deb