mirror of
https://github.com/libssh2/libssh2.git
synced 2025-11-20 02:42:09 +03:00
ci: add i386 Linux build (with mbedTLS)
Also: - reorder Linux build matrix to make build tool more visible. - hide apt-get progress bar. - prepare package install step for i386 builds. Detects bug #1053 Closes #1057
This commit is contained in:
38
.github/workflows/ci.yml
vendored
38
.github/workflows/ci.yml
vendored
@@ -26,23 +26,32 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
compiler: [gcc, clang]
|
compiler: [gcc, clang]
|
||||||
|
arch: [amd64]
|
||||||
crypto_backend: [OpenSSL, wolfSSL, Libgcrypt, mbedTLS]
|
crypto_backend: [OpenSSL, wolfSSL, Libgcrypt, mbedTLS]
|
||||||
enable_zlib_compression: ['OFF', 'ON']
|
|
||||||
build: [cmake]
|
build: [cmake]
|
||||||
|
enable_zlib_compression: ['OFF', 'ON']
|
||||||
include:
|
include:
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
|
arch: amd64
|
||||||
crypto_backend: OpenSSL
|
crypto_backend: OpenSSL
|
||||||
enable_zlib_compression: 'OFF'
|
|
||||||
build: autotools
|
build: autotools
|
||||||
- compiler: clang
|
|
||||||
crypto_backend: OpenSSL
|
|
||||||
enable_zlib_compression: 'OFF'
|
enable_zlib_compression: 'OFF'
|
||||||
build: autotools
|
|
||||||
- compiler: clang
|
- compiler: clang
|
||||||
|
arch: amd64
|
||||||
crypto_backend: OpenSSL
|
crypto_backend: OpenSSL
|
||||||
|
build: autotools
|
||||||
|
enable_zlib_compression: 'OFF'
|
||||||
|
- compiler: clang
|
||||||
|
arch: amd64
|
||||||
|
crypto_backend: OpenSSL
|
||||||
|
build: autotools
|
||||||
enable_zlib_compression: 'ON'
|
enable_zlib_compression: 'ON'
|
||||||
build: autotools
|
|
||||||
target: 'distcheck'
|
target: 'distcheck'
|
||||||
|
- compiler: gcc
|
||||||
|
arch: i386
|
||||||
|
crypto_backend: mbedTLS
|
||||||
|
build: cmake
|
||||||
|
enable_zlib_compression: 'ON'
|
||||||
env:
|
env:
|
||||||
CC: ${{ matrix.compiler }}
|
CC: ${{ matrix.compiler }}
|
||||||
CC_FOR_BUILD: ${{ matrix.compiler }}
|
CC_FOR_BUILD: ${{ matrix.compiler }}
|
||||||
@@ -50,13 +59,22 @@ jobs:
|
|||||||
ENABLE_ZLIB_COMPRESSION: ${{ matrix.enable_zlib_compression }}
|
ENABLE_ZLIB_COMPRESSION: ${{ matrix.enable_zlib_compression }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
- name: 'install architecture'
|
||||||
|
if: ${{ matrix.arch != 'amd64' }}
|
||||||
|
run: |
|
||||||
|
sudo dpkg --add-architecture '${{ matrix.arch }}'
|
||||||
|
sudo apt-get --quiet 2 --option Dpkg::Use-Pty=0 update
|
||||||
|
# Workaround for https://github.com/actions/runner-images/issues/7589
|
||||||
|
sudo apt-get --quiet 2 --option Dpkg::Use-Pty=0 install libgcc-s1:${{ matrix.arch }}
|
||||||
|
sudo apt-get --quiet 2 --option Dpkg::Use-Pty=0 install gcc-multilib build-essential zlib1g-dev:${{ matrix.arch }}
|
||||||
|
|
||||||
- name: 'install packages'
|
- name: 'install packages'
|
||||||
if: ${{ matrix.crypto_backend != 'mbedTLS' }}
|
if: ${{ matrix.crypto_backend != 'mbedTLS' }}
|
||||||
run: |
|
run: |
|
||||||
[ "${{ matrix.crypto_backend }}" == 'OpenSSL' ] && pkg='libssl-dev'
|
[ "${{ matrix.crypto_backend }}" == 'OpenSSL' ] && pkg='libssl-dev'
|
||||||
[ "${{ matrix.crypto_backend }}" == 'wolfSSL' ] && pkg='libwolfssl-dev'
|
[ "${{ matrix.crypto_backend }}" == 'wolfSSL' ] && pkg='libwolfssl-dev'
|
||||||
[ "${{ matrix.crypto_backend }}" == 'Libgcrypt' ] && pkg='libgcrypt-dev'
|
[ "${{ matrix.crypto_backend }}" == 'Libgcrypt' ] && pkg='libgcrypt-dev'
|
||||||
sudo apt-get install -y "${pkg}"
|
sudo apt-get --quiet 2 --option Dpkg::Use-Pty=0 install "${pkg}:${{ matrix.arch }}"
|
||||||
|
|
||||||
- name: 'install mbedTLS from source'
|
- name: 'install mbedTLS from source'
|
||||||
if: ${{ matrix.crypto_backend == 'mbedTLS' }}
|
if: ${{ matrix.crypto_backend == 'mbedTLS' }}
|
||||||
@@ -64,7 +82,8 @@ jobs:
|
|||||||
MBEDTLSVER=mbedtls-3.4.0
|
MBEDTLSVER=mbedtls-3.4.0
|
||||||
curl -L https://github.com/Mbed-TLS/mbedtls/archive/$MBEDTLSVER.tar.gz | tar -xzf -
|
curl -L https://github.com/Mbed-TLS/mbedtls/archive/$MBEDTLSVER.tar.gz | tar -xzf -
|
||||||
cd mbedtls-$MBEDTLSVER
|
cd mbedtls-$MBEDTLSVER
|
||||||
cmake . \
|
[ '${{ matrix.arch }}' == 'i386' ] && crossoptions='-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} -DCMAKE_C_FLAGS=-m32'
|
||||||
|
cmake . ${crossoptions} \
|
||||||
-DUSE_SHARED_MBEDTLS_LIBRARY=ON \
|
-DUSE_SHARED_MBEDTLS_LIBRARY=ON \
|
||||||
-DCMAKE_INSTALL_PREFIX:PATH=../usr
|
-DCMAKE_INSTALL_PREFIX:PATH=../usr
|
||||||
make -j3 install
|
make -j3 install
|
||||||
@@ -91,7 +110,8 @@ jobs:
|
|||||||
- name: 'cmake configure'
|
- name: 'cmake configure'
|
||||||
if: ${{ matrix.build == 'cmake' }}
|
if: ${{ matrix.build == 'cmake' }}
|
||||||
run: |
|
run: |
|
||||||
cmake . -B bld $TOOLCHAIN_OPTION \
|
[ '${{ matrix.arch }}' == 'i386' ] && crossoptions='-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} -DCMAKE_C_FLAGS=-m32'
|
||||||
|
cmake . -B bld ${crossoptions} $TOOLCHAIN_OPTION \
|
||||||
-DENABLE_WERROR=ON \
|
-DENABLE_WERROR=ON \
|
||||||
-DCRYPTO_BACKEND=$CRYPTO_BACKEND \
|
-DCRYPTO_BACKEND=$CRYPTO_BACKEND \
|
||||||
-DENABLE_ZLIB_COMPRESSION=$ENABLE_ZLIB_COMPRESSION
|
-DENABLE_ZLIB_COMPRESSION=$ENABLE_ZLIB_COMPRESSION
|
||||||
|
|||||||
Reference in New Issue
Block a user