GHA/non-native: sync BSD tflags logic with other workflows

To make it easier to customize tests for individual matrix jobs.

Also:
- tested running riscv64 tests, but it takes too long (8.5-12 minutes,
  for ~1000 HTTP tests.)

Follow-up to bf594226d6 #22601

Closes #22602
This commit is contained in:
Viktor Szakats 2026-08-16 12:42:20 +02:00
parent 8eb978b9c2
commit d00000673d
No known key found for this signature in database

View file

@ -57,11 +57,11 @@ 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', tflags: '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', tflags: 'skipall',
# install: 'cmake ninja' }
# https://ports.freebsd.org/
@ -69,34 +69,34 @@ jobs:
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 !examples', tflags: 'skiprun',
install: 'cmake-core ninja perl5 krb5-devel openldap26-client libidn2',
options: '-DCURL_USE_GSSAPI=ON -DCMAKE_UNITY_BUILD=OFF' }
- { os: 'freebsd' , version: '15.1', build: 'cmake' , arch: 'riscv64', cc: 'clang', desc: 'openssl skipall',
- { os: 'freebsd' , version: '15.1', build: 'cmake' , arch: 'riscv64', cc: 'clang', desc: 'openssl', tflags: 'skipall',
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 -DCURL_DISABLE_TYPECHECK=ON' }
- { os: 'freebsd' , version: '14.3', build: 'autotools', arch: 'arm64' , cc: 'clang', desc: 'openssl skipall !examples',
- { os: 'freebsd' , version: '14.3', build: 'autotools', arch: 'arm64' , cc: 'clang', desc: 'openssl !examples', tflags: 'skipall',
install: 'autoconf automake libtool krb5-devel openldap26-client libidn2 stunnel',
options: '--with-openssl --with-gssapi --enable-ldap --enable-ldaps --with-libidn2 --disable-typecheck' }
- { os: 'freebsd' , version: '14.3', build: 'cmake' , arch: 'arm64' , cc: 'clang', desc: 'openssl skiprun !examples',
- { os: 'freebsd' , version: '14.3', build: 'cmake' , arch: 'arm64' , cc: 'clang', desc: 'openssl', tflags: 'skiprun',
install: 'cmake-core ninja perl5 krb5-devel openldap26-client libidn2 stunnel',
options: '-DCURL_USE_GSSAPI=ON -DCURL_DISABLE_TYPECHECK=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 !examples', tflags: 'skipall',
# 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', tflags: '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 !examples', tflags: 'skipall',
install: 'autoconf automake libtool mit-krb5',
options: '--with-openssl --with-gssapi' }
@ -107,11 +107,12 @@ jobs:
# 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 !examples', tflags: 'skipall',
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',
# Skip test 2707 'ws: Peculiar frame sizes' on suspicion of hangs
- { os: 'openbsd' , version: '7.9' , build: 'cmake' , arch: 'x86_64' , cc: 'clang', desc: 'libressl', tflags: '!2707',
install: 'cmake ninja openldap-client-- libidn2' }
fail-fast: false
@ -123,7 +124,7 @@ jobs:
- name: 'setup VM'
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'
environment_variables: 'CC CURL_CI CURL_TEST_MIN DO_NOT_TRACK MAKEFLAGS MATRIX_ARCH MATRIX_BUILD MATRIX_INSTALL MATRIX_OPTIONS MATRIX_OS MATRIX_VERSION TFLAGS'
operating_system: '${{ matrix.os }}'
version: '${{ matrix.version }}'
architecture: '${{ matrix.arch }}'
@ -220,7 +221,7 @@ jobs:
fi
- name: 'build tests'
if: ${{ !contains(matrix.desc, 'skipall') }} # Slow on emulated CPU
if: ${{ matrix.tflags != 'skipall' }} # Slow on emulated CPU
run: |
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
cmake --build bld --verbose --target testdeps
@ -229,12 +230,11 @@ jobs:
fi
- name: 'run tests'
if: ${{ !contains(matrix.desc, 'skipall') && !contains(matrix.desc, 'skiprun') }} # Slow on emulated CPU
if: ${{ matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }} # Slow on emulated CPU
env:
TFLAGS: '${{ matrix.tflags }}'
run: |
export TFLAGS='-j8'
if [ "${MATRIX_OS}" = 'openbsd' ]; then
TFLAGS="$TFLAGS !2707" # Skip 2707 'ws: Peculiar frame sizes' on suspicion of hangs
fi
TFLAGS="-j8 ${TFLAGS}"
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
cmake --build bld --verbose --target test-ci
else