From 91323de7f3ddfad2fb6860a695ffa805e9389afe Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 15 Aug 2026 10:32:30 +0200 Subject: [PATCH] GHA/non-native: bump cross-build-actions, NetBSD 11.0, FreeBSD riscv64 New riscv64 job takes 4.5 minutes. Also: - use prefill on riscv64 to save 2 minutes configure time. - disable manuals/perl on riscv64 to save ~1 minute (install, build). - cmake: fix `HAVE_GETHOSTBYNAME_R_6` prefill for FreeBSD. Ref: https://github.com/cross-platform-actions/action/releases/tag/v1.4.0 Closes #22590 --- .github/workflows/non-native.yml | 30 +++++++++++++++++------------- CMake/unix-cache.cmake | 1 + 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.github/workflows/non-native.yml b/.github/workflows/non-native.yml index 29663c726e..56ef87c890 100644 --- a/.github/workflows/non-native.yml +++ b/.github/workflows/non-native.yml @@ -57,57 +57,61 @@ jobs: matrix: include: # https://github.com/DragonFlyBSD/DPorts - # { os: 'dragonflybsd', version: '6.4.2', build: 'autotools', arch: 'x86_64', cc: 'gcc' , desc: 'openssl skiprun', + # { os: 'dragonflybsd', version: '6.4.2', build: 'autotools', arch: 'x86_64' , cc: 'gcc' , desc: 'openssl skiprun', # install: 'autoconf automake libtool openldap26-client libidn2', # options: '--with-openssl --enable-ldap --enable-ldaps --with-libidn2' } - # { os: 'dragonflybsd', version: '6.4.2', build: 'cmake' , arch: 'x86_64', cc: 'gcc' , desc: 'openssl skipall', + # { os: 'dragonflybsd', version: '6.4.2', build: 'cmake' , arch: 'x86_64' , cc: 'gcc' , desc: 'openssl skipall', # install: 'cmake ninja' } # https://ports.freebsd.org/ - - { os: 'freebsd' , version: '15.1', build: 'autotools', arch: 'x86_64', cc: 'clang', desc: 'openssl', + - { os: 'freebsd' , version: '15.1', build: 'autotools', arch: 'x86_64' , cc: 'clang', desc: 'openssl', install: 'autoconf automake libtool krb5-devel openldap26-client libidn2 stunnel', options: '--with-openssl --with-gssapi --enable-ldap --enable-ldaps --with-libidn2' } - - { os: 'freebsd' , version: '15.1', build: 'cmake' , arch: 'x86_64', cc: 'clang', desc: 'openssl !unity skiprun !examples', + - { os: 'freebsd' , version: '15.1', build: 'cmake' , arch: 'x86_64' , cc: 'clang', desc: 'openssl !unity skiprun !examples', install: 'cmake-core ninja perl5 krb5-devel openldap26-client libidn2', options: '-DCURL_USE_GSSAPI=ON -DCMAKE_UNITY_BUILD=OFF' } - - { os: 'freebsd' , version: '14.3', build: 'autotools', arch: 'arm64' , cc: 'clang', desc: 'openssl !examples', + - { os: 'freebsd' , version: '15.1', build: 'cmake' , arch: 'riscv64', cc: 'clang', desc: 'openssl skiprun !examples', + install: 'cmake-core ninja', + options: '-D_CURL_PREFILL=ON -DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF -DCURL_DISABLE_HTTPSIG=OFF' } + + - { os: 'freebsd' , version: '14.3', build: 'autotools', arch: 'arm64' , cc: 'clang', desc: 'openssl !examples', install: 'autoconf automake libtool krb5-devel openldap26-client libidn2 stunnel', options: '--with-openssl --with-gssapi --enable-ldap --enable-ldaps --with-libidn2' } - - { os: 'freebsd' , version: '14.3', build: 'cmake' , arch: 'arm64' , cc: 'clang', desc: 'openssl', + - { os: 'freebsd' , version: '14.3', build: 'cmake' , arch: 'arm64' , cc: 'clang', desc: 'openssl', install: 'cmake-core ninja perl5 krb5-devel openldap26-client libidn2 stunnel', options: '-DCURL_USE_GSSAPI=ON' } # https://app.midnightbsd.org/ # https://man.midnightbsd.org/cgi-bin/man.cgi/mport - # { os: 'midnightbsd' , version: '4.0.4', build: 'autotools' , arch: 'x86_64', cc: 'clang', desc: 'gnutls skipall !examples', + # { os: 'midnightbsd' , version: '4.0.4', build: 'autotools', arch: 'x86_64' , cc: 'clang', desc: 'gnutls skipall !examples', # install: 'autoconf autoconf-archive automake libtool gnutls', # options: '--with-gnutls' } - - { os: 'midnightbsd' , version: '4.0.4', build: 'cmake' , arch: 'x86_64', cc: 'clang', desc: 'gnutls skiprun', + - { os: 'midnightbsd' , version: '4.0.4', build: 'cmake' , arch: 'x86_64' , cc: 'clang', desc: 'gnutls skiprun', install: 'cmake-core ninja perl5 gnutls openldap26-client libidn2', options: '-DCURL_USE_GNUTLS=ON' } # https://pkgsrc.se/ - - { os: 'netbsd' , version: '10.1' , build: 'autotools', arch: 'x86_64', cc: 'gcc' , desc: 'openssl skipall !examples', + - { os: 'netbsd' , version: '10.1' , build: 'autotools', arch: 'x86_64' , cc: 'gcc' , desc: 'openssl skipall !examples', install: 'autoconf automake libtool mit-krb5', options: '--with-openssl --with-gssapi' } - - { os: 'netbsd' , version: '10.1' , build: 'cmake' , arch: 'x86_64', cc: 'gcc' , desc: 'openssl', + - { os: 'netbsd' , version: '11.0' , build: 'cmake' , arch: 'x86_64' , cc: 'gcc' , desc: 'openssl', install: 'cmake ninja-build mit-krb5 openldap-client libidn2', options: '-DCURL_USE_GSSAPI=ON' } # https://openbsd.app/ # https://www.openbsd.org/faq/faq15.html # https://github.com/OpenMPT/openmpt/blob/master/.github/workflows/OpenBSD-Autotools.yml - - { os: 'openbsd' , version: '7.9' , build: 'autotools', arch: 'x86_64', cc: 'clang', desc: 'libressl skipall !examples', + - { os: 'openbsd' , version: '7.9' , build: 'autotools', arch: 'x86_64' , cc: 'clang', desc: 'libressl skipall !examples', install: 'autoconf-2.72p0 automake-1.18.1 libtool', # NOTE: also sync these versions with the autoreconf step! options: '--with-openssl' } - - { os: 'openbsd' , version: '7.9' , build: 'cmake' , arch: 'x86_64', cc: 'clang', desc: 'libressl', + - { os: 'openbsd' , version: '7.9' , build: 'cmake' , arch: 'x86_64' , cc: 'clang', desc: 'libressl', install: 'cmake ninja openldap-client-- libidn2' } fail-fast: false @@ -117,7 +121,7 @@ jobs: persist-credentials: false - name: 'setup VM' - uses: cross-platform-actions/action@5ea7e8e4677bd726033a10b094ba1c5762b15dee # v1.3.0 + uses: cross-platform-actions/action@24ef01df165c76df1ed2b9f9e9212e78dc2fc963 # v1.4.0 with: environment_variables: 'CC CURL_CI CURL_TEST_MIN DO_NOT_TRACK MAKEFLAGS MATRIX_ARCH MATRIX_BUILD MATRIX_INSTALL MATRIX_OPTIONS MATRIX_OS MATRIX_VERSION' operating_system: '${{ matrix.os }}' diff --git a/CMake/unix-cache.cmake b/CMake/unix-cache.cmake index 4ee28f7eb7..e6720545e8 100644 --- a/CMake/unix-cache.cmake +++ b/CMake/unix-cache.cmake @@ -127,6 +127,7 @@ set(HAVE_GETHOSTBYNAME_R_5 0) set(HAVE_GETHOSTBYNAME_R_5_REENTRANT 0) if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "DragonFlyBSD" OR + CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD") set(HAVE_GETHOSTBYNAME_R_6 1) set(HAVE_GETHOSTBYNAME_R_6_REENTRANT 1)