mirror of
https://github.com/curl/curl.git
synced 2026-04-11 12:01:42 +08:00
GHA/linux: move 6 jobs with locally built dependencies to arm
All libresll jobs, wolfssl-all, and one mbedtls job. As noted earlier, arm jobs run faster than intel ones, especially valgrind steps that run almost twice as fast. Package install runs slower, but this is offset by faster build and test steps, even in non-valgrind jobs. Follow-up toff78af5752#20234 Follow-up to2b0d8dcc16#20231 Closes #20246
This commit is contained in:
parent
ff78af5752
commit
5225e69ed9
65
.github/workflows/linux.yml
vendored
65
.github/workflows/linux.yml
vendored
@ -75,29 +75,34 @@ jobs:
|
||||
matrix:
|
||||
build:
|
||||
- name: 'libressl krb5'
|
||||
image: ubuntu-24.04-arm
|
||||
install_packages: libidn2-dev libnghttp2-dev libldap-dev libkrb5-dev
|
||||
install_steps: libressl-c pytest codeset-test
|
||||
install_steps: libressl-c-arm pytest codeset-test
|
||||
configure: LDFLAGS=-Wl,-rpath,/home/runner/libressl/lib --with-openssl=/home/runner/libressl --with-gssapi --enable-debug
|
||||
|
||||
- name: 'libressl krb5 valgrind 1'
|
||||
image: ubuntu-24.04-arm
|
||||
install_packages: libnghttp2-dev libldap-dev libkrb5-dev valgrind
|
||||
install_steps: libressl-c
|
||||
install_steps: libressl-c-arm
|
||||
tflags: '--min=870 1 to 950'
|
||||
generate: -DOPENSSL_ROOT_DIR=/home/runner/libressl -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON -DCURL_LIBCURL_VERSIONED_SYMBOLS=ON
|
||||
|
||||
- name: 'libressl krb5 valgrind 2'
|
||||
image: ubuntu-24.04-arm
|
||||
install_packages: libnghttp2-dev libldap-dev libkrb5-dev valgrind
|
||||
install_steps: libressl-c
|
||||
install_steps: libressl-c-arm
|
||||
tflags: '--min=900 951 to 9999'
|
||||
generate: -DOPENSSL_ROOT_DIR=/home/runner/libressl -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON -DCURL_LIBCURL_VERSIONED_SYMBOLS=ON
|
||||
|
||||
- name: 'libressl clang'
|
||||
image: ubuntu-24.04-arm
|
||||
install_packages: clang
|
||||
install_steps: libressl-c
|
||||
install_steps: libressl-c-arm
|
||||
configure: CC=clang LDFLAGS=-Wl,-rpath,/home/runner/libressl/lib --with-openssl=/home/runner/libressl --enable-debug
|
||||
|
||||
- name: 'wolfssl-all'
|
||||
install_steps: wolfssl-all
|
||||
image: ubuntu-24.04-arm
|
||||
install_steps: wolfssl-all-arm
|
||||
configure: LDFLAGS=-Wl,-rpath,/home/runner/wolfssl-all/lib --with-wolfssl=/home/runner/wolfssl-all --enable-ech --enable-debug
|
||||
|
||||
- name: 'wolfssl-opensslextra valgrind 1'
|
||||
@ -129,8 +134,9 @@ jobs:
|
||||
generate: -DCURL_USE_MBEDTLS=ON -DENABLE_DEBUG=ON -DCURL_USE_GSSAPI=ON
|
||||
|
||||
- name: 'mbedtls clang'
|
||||
image: ubuntu-24.04-arm
|
||||
install_packages: libssh-dev libnghttp2-dev libldap-dev clang
|
||||
install_steps: mbedtls pytest
|
||||
install_steps: mbedtls-arm pytest
|
||||
configure: CC=clang LDFLAGS=-Wl,-rpath,/home/runner/mbedtls/lib --with-mbedtls=/home/runner/mbedtls --with-libssh --enable-debug --with-fish-functions-dir --with-zsh-functions-dir
|
||||
|
||||
- name: 'mbedtls-prev'
|
||||
@ -452,18 +458,18 @@ jobs:
|
||||
cd filc
|
||||
./setup.sh
|
||||
|
||||
- name: 'cache libressl (c)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'libressl-c') }}
|
||||
- name: 'cache libressl (c-arm)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'libressl-c-arm') }}
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
id: cache-libressl-c
|
||||
id: cache-libressl-c-arm
|
||||
env:
|
||||
cache-name: cache-libressl-c
|
||||
cache-name: cache-libressl-c-arm
|
||||
with:
|
||||
path: ~/libressl
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-build-${{ env.cache-name }}-${{ env.LIBRESSL_VERSION }}
|
||||
|
||||
- name: 'build libressl (c)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'libressl-c') && steps.cache-libressl-c.outputs.cache-hit != 'true' }}
|
||||
- name: 'build libressl (c-arm)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'libressl-c-arm') && steps.cache-libressl-c-arm.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
|
||||
@ -515,18 +521,18 @@ jobs:
|
||||
cmake --build .
|
||||
cmake --install .
|
||||
|
||||
- name: 'cache wolfssl (all)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'wolfssl-all') }}
|
||||
- name: 'cache wolfssl (all-arm)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'wolfssl-all-arm') }}
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
id: cache-wolfssl-all
|
||||
id: cache-wolfssl-all-arm
|
||||
env:
|
||||
cache-name: cache-wolfssl-all
|
||||
cache-name: cache-wolfssl-all-arm
|
||||
with:
|
||||
path: ~/wolfssl-all
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-build-${{ env.cache-name }}-${{ env.WOLFSSL_VERSION }}
|
||||
|
||||
- name: 'build wolfssl (all)' # does not support `OPENSSL_COEXIST`
|
||||
if: ${{ contains(matrix.build.install_steps, 'wolfssl-all') && steps.cache-wolfssl-all.outputs.cache-hit != 'true' }}
|
||||
- name: 'build wolfssl (all-arm)' # does not support `OPENSSL_COEXIST`
|
||||
if: ${{ contains(matrix.build.install_steps, 'wolfssl-all-arm') && steps.cache-wolfssl-all-arm.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/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}-stable.tar.gz" | tar -xz
|
||||
@ -580,6 +586,29 @@ jobs:
|
||||
cmake --build .
|
||||
cmake --install .
|
||||
|
||||
- name: 'cache mbedtls (arm)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'mbedtls-arm') }}
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
id: cache-mbedtls-threadsafe-arm
|
||||
env:
|
||||
cache-name: cache-mbedtls-threadsafe-arm
|
||||
with:
|
||||
path: ~/mbedtls
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-build-${{ env.cache-name }}-${{ env.MBEDTLS_VERSION }}
|
||||
|
||||
- name: 'build mbedtls (arm)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'mbedtls-arm') && steps.cache-mbedtls-threadsafe-arm.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/Mbed-TLS/mbedtls/releases/download/mbedtls-${MBEDTLS_VERSION}/mbedtls-${MBEDTLS_VERSION}.tar.bz2" | tar -xj
|
||||
cd "mbedtls-${MBEDTLS_VERSION}"
|
||||
./scripts/config.py set MBEDTLS_THREADING_C
|
||||
./scripts/config.py set MBEDTLS_THREADING_PTHREAD
|
||||
cmake -B . -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/home/runner/mbedtls \
|
||||
-DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF
|
||||
cmake --build .
|
||||
cmake --install .
|
||||
|
||||
- name: 'cache mbedtls (prev)'
|
||||
if: ${{ contains(matrix.build.install_steps, 'mbedtls-prev') }}
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user