mirror of
https://github.com/curl/curl.git
synced 2026-04-14 21:31:42 +03:00
GHA/linux: build and test LibreSSL with Fil-C curl, enable pytests
Build and cache LibreSSL locally with Fil-C and enable it in the Fil-C job. Also: - disable test 776 in the Fil-C job. It fails consistently, and due to flakiness seen earlier its result is disabled. In this job it seems to be adding 1 to 9 minues to the test run step and fails consistently. - include Fil-C version in the LibreSSL cache key to prepare for Fil-C ABI changes. - GHA/linux: fully quote `tflags` values to avoid breaking YAML. Tested and confirmed working with OpenSSL too, but ended up with LibreSSL for faster, smaller builds. Closes #19407
This commit is contained in:
parent
3752de465d
commit
c262481873
1 changed files with 29 additions and 7 deletions
36
.github/workflows/linux.yml
vendored
36
.github/workflows/linux.yml
vendored
|
|
@ -193,13 +193,13 @@ jobs:
|
|||
- name: 'openssl torture !FTP'
|
||||
install_packages: libnghttp2-dev libssh2-1-dev libc-ares-dev
|
||||
generate: -DCURL_USE_OPENSSL=ON -DENABLE_DEBUG=ON -DENABLE_ARES=ON
|
||||
tflags: -t --shallow=25 !FTP
|
||||
tflags: '-t --shallow=25 !FTP'
|
||||
torture: true
|
||||
|
||||
- name: 'openssl torture FTP'
|
||||
install_packages: libnghttp2-dev libssh2-1-dev libc-ares-dev
|
||||
generate: -DCURL_USE_OPENSSL=ON -DENABLE_DEBUG=ON -DENABLE_ARES=ON
|
||||
tflags: -t --shallow=20 FTP
|
||||
tflags: '-t --shallow=20 FTP'
|
||||
torture: true
|
||||
|
||||
- name: 'openssl i686'
|
||||
|
|
@ -215,12 +215,13 @@ jobs:
|
|||
- name: '!ssl !http !smtp !imap'
|
||||
configure: --without-ssl --enable-debug --disable-http --disable-smtp --disable-imap --disable-unity
|
||||
|
||||
- name: 'Fil-C'
|
||||
install_steps: filc
|
||||
- name: 'libressl Fil-C'
|
||||
install_steps: filc libressl-filc pytest
|
||||
tflags: '!776' # adds 1-9 minutes to the test run step, and fails consistently
|
||||
CC: /home/runner/filc/build/bin/filcc
|
||||
generate: >-
|
||||
-DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_UNITY_BUILD=OFF
|
||||
-DCURL_ENABLE_SSL=OFF -DCURL_USE_LIBPSL=OFF
|
||||
-DOPENSSL_ROOT_DIR=/home/runner/libressl -DCURL_USE_LIBPSL=OFF
|
||||
-DCURL_ZLIB=OFF -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF
|
||||
-DUSE_NGHTTP2=OFF -DCURL_DISABLE_LDAP=ON -DUSE_LIBIDN2=OFF -DCURL_USE_LIBSSH2=OFF
|
||||
|
||||
|
|
@ -303,12 +304,12 @@ jobs:
|
|||
- name: 'event-based'
|
||||
install_packages: libssh-dev
|
||||
configure: --enable-debug --disable-shared --disable-threaded-resolver --with-libssh --with-openssl
|
||||
tflags: -n --test-event '!TLS-SRP'
|
||||
tflags: '-n --test-event !TLS-SRP'
|
||||
|
||||
- name: 'duphandle'
|
||||
install_packages: libssh-dev
|
||||
configure: --enable-debug --disable-shared --disable-threaded-resolver --with-libssh --with-openssl
|
||||
tflags: -n --test-duphandle '!TLS-SRP'
|
||||
tflags: '-n --test-duphandle !TLS-SRP'
|
||||
|
||||
- name: 'rustls valgrind'
|
||||
install_packages: libnghttp2-dev libldap-dev valgrind
|
||||
|
|
@ -413,6 +414,27 @@ jobs:
|
|||
cmake --build .
|
||||
cmake --install .
|
||||
|
||||
- name: 'cache libressl (filc)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'libressl-filc') }}
|
||||
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
id: cache-libressl-filc
|
||||
env:
|
||||
cache-name: cache-libressl-filc
|
||||
with:
|
||||
path: ~/libressl
|
||||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.LIBRESSL_VERSION }}-${{ env.FIL_C_VERSION }}
|
||||
|
||||
- name: 'build libressl (filc)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'libressl-filc') && steps.cache-libressl-filc.outputs.cache-hit != 'true' }}
|
||||
run: |
|
||||
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
|
||||
--location "https://github.com/libressl/portable/releases/download/v${LIBRESSL_VERSION}/libressl-${LIBRESSL_VERSION}.tar.gz" | tar -xz
|
||||
cd "libressl-${LIBRESSL_VERSION}"
|
||||
cmake -B . -G Ninja -DLIBRESSL_APPS=OFF -DLIBRESSL_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/home/runner/libressl \
|
||||
-DCMAKE_C_COMPILER=/home/runner/filc/build/bin/filcc -DENABLE_ASM=OFF
|
||||
cmake --build .
|
||||
cmake --install .
|
||||
|
||||
- name: 'cache wolfssl (all)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'wolfssl-all') }}
|
||||
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue