github: Adapt to switch to Ubuntu 24.04 for ubuntu-latest
This commit is contained in:
@@ -41,8 +41,7 @@ jobs:
|
|||||||
- test: printf-builtin
|
- test: printf-builtin
|
||||||
monolithic: yes
|
monolithic: yes
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-24.04
|
- test: apidoc
|
||||||
test: apidoc
|
|
||||||
- test: coverage
|
- test: coverage
|
||||||
- test: dist
|
- test: dist
|
||||||
- test: nm
|
- test: nm
|
||||||
@@ -97,17 +96,25 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-latest, ubuntu-20.04 ]
|
os: [ ubuntu-latest, ubuntu-22.04, ubuntu-20.04 ]
|
||||||
test: [ botan, wolfssl, openssl, openssl-3, openssl-awslc, gcrypt ]
|
test: [ botan, wolfssl, openssl, openssl-3, openssl-awslc, gcrypt ]
|
||||||
leak-detective: [ no, yes ]
|
leak-detective: [ no, yes ]
|
||||||
exclude:
|
exclude:
|
||||||
# test custom-built libs only on one platform
|
# test custom-built libs only on the latest platform
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-22.04
|
||||||
test: botan
|
test: botan
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-20.04
|
||||||
|
test: botan
|
||||||
|
- os: ubuntu-22.04
|
||||||
test: wolfssl
|
test: wolfssl
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-20.04
|
||||||
|
test: wolfssl
|
||||||
|
- os: ubuntu-22.04
|
||||||
test: openssl-3
|
test: openssl-3
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
test: openssl-3
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
test: openssl-awslc
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-20.04
|
||||||
test: openssl-awslc
|
test: openssl-awslc
|
||||||
env:
|
env:
|
||||||
@@ -147,7 +154,7 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-20.04 ]
|
os: [ ubuntu-22.04, ubuntu-20.04 ]
|
||||||
test: [ all, nm ]
|
test: [ all, nm ]
|
||||||
compiler: [ gcc, clang ]
|
compiler: [ gcc, clang ]
|
||||||
exclude:
|
exclude:
|
||||||
@@ -157,13 +164,16 @@ jobs:
|
|||||||
LEAK_DETECTIVE: ${{ matrix.leak-detective || 'no' }}
|
LEAK_DETECTIVE: ${{ matrix.leak-detective || 'no' }}
|
||||||
CC: ${{ matrix.compiler || 'gcc' }}
|
CC: ${{ matrix.compiler || 'gcc' }}
|
||||||
TEST: ${{ matrix.test }}
|
TEST: ${{ matrix.test }}
|
||||||
# LSan causes spurious SIGSEGV after tests due to DTLS handling by glibc
|
# LSan causes spurious SIGSEGV after tests due to DTLS handling by glibc (on 20.04)
|
||||||
ASAN_OPTIONS: intercept_tls_get_addr=0
|
ASAN_OPTIONS: intercept_tls_get_addr=0
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/.ccache
|
# path is different on newer systems
|
||||||
|
path: |
|
||||||
|
~/.cache/ccache
|
||||||
|
~/.ccache
|
||||||
key: ccache-${{ matrix.os }}-${{ env.CC }}-${{ matrix.test }}-${{ github.sha }}
|
key: ccache-${{ matrix.os }}-${{ env.CC }}-${{ matrix.test }}-${{ github.sha }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
ccache-${{ matrix.os }}-${{ env.CC }}-${{ matrix.test }}-
|
ccache-${{ matrix.os }}-${{ env.CC }}-${{ matrix.test }}-
|
||||||
|
|||||||
+7
-3
@@ -173,7 +173,7 @@ system_uses_openssl3()
|
|||||||
|
|
||||||
prepare_system_openssl()
|
prepare_system_openssl()
|
||||||
{
|
{
|
||||||
# On systems that ship OpenSSL 3 (e.g. Ubuntu 22.04), we require debug
|
# On systems that ship OpenSSL 3 (e.g. Ubuntu 22.04+), we require debug
|
||||||
# symbols to whitelist leaks
|
# symbols to whitelist leaks
|
||||||
if test "$1" = "deps"; then
|
if test "$1" = "deps"; then
|
||||||
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted
|
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted
|
||||||
@@ -181,13 +181,17 @@ prepare_system_openssl()
|
|||||||
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted" | \
|
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted" | \
|
||||||
sudo tee -a /etc/apt/sources.list.d/ddebs.list
|
sudo tee -a /etc/apt/sources.list.d/ddebs.list
|
||||||
sudo apt-get install -qq ubuntu-dbgsym-keyring
|
sudo apt-get install -qq ubuntu-dbgsym-keyring
|
||||||
DEPS="$DEPS libssl3-dbgsym"
|
if [ "$ID" = "ubuntu" -a "$VERSION_ID" = "24.04" ]; then
|
||||||
|
DEPS="$DEPS libssl3t64-dbgsym"
|
||||||
|
else
|
||||||
|
DEPS="$DEPS libssl3-dbgsym"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if test "$LEAK_DETECTIVE" = "yes"; then
|
if test "$LEAK_DETECTIVE" = "yes"; then
|
||||||
# make sure we can properly whitelist functions with leak detective
|
# make sure we can properly whitelist functions with leak detective
|
||||||
DEPS="$DEPS binutils-dev"
|
DEPS="$DEPS binutils-dev"
|
||||||
CONFIG="$CONFIG --enable-bfd-backtraces"
|
CONFIG="$CONFIG --enable-bfd-backtraces"
|
||||||
else
|
elif [ "$ID" = "ubuntu" -a "$VERSION_ID" != "24.04" ]; then
|
||||||
# with ASan we have to use the (extremely) slow stack unwind as the
|
# with ASan we have to use the (extremely) slow stack unwind as the
|
||||||
# shipped version of the library is built with -fomit-frame-pointer
|
# shipped version of the library is built with -fomit-frame-pointer
|
||||||
export ASAN_OPTIONS=fast_unwind_on_malloc=0
|
export ASAN_OPTIONS=fast_unwind_on_malloc=0
|
||||||
|
|||||||
Reference in New Issue
Block a user