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'
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'
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
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
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