mirror of
https://github.com/curl/curl.git
synced 2026-07-31 01:28:04 +03:00
GHA/http3-linux: test non-unity, and more cmake
Reshuffle HTTP/3 jobs to: - test all backends with cmake too. Adding 4 jobs. - build all backends in non-unity mode too. Either with autotools or cmake. - run tests once for each backend Either with autotools or cmake, with a preference for cmake to finish faster. - drop building examples. There is nothing HTTP/3-specific in examples, and they are already built in GHA/linux. - de-dupe some shared settings. Ref: https://github.com/curl/curl/issues/17857#issuecomment-3047999309 Ref:8cef6b5e6e#18321 #18320 Ref:d79269166e#18211 #18212 Ref:454395ba1e#17857 #17864 Ref:b270fec68d#17857 #17858 Closes #18325
This commit is contained in:
parent
8515424df4
commit
29608d694e
1 changed files with 55 additions and 36 deletions
91
.github/workflows/http3-linux.yml
vendored
91
.github/workflows/http3-linux.yml
vendored
|
|
@ -260,76 +260,93 @@ jobs:
|
|||
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
configure: >-
|
||||
LDFLAGS=-Wl,-rpath,/home/runner/openssl/build/lib
|
||||
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug --disable-ntlm
|
||||
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
|
||||
--with-ngtcp2 --disable-ntlm
|
||||
--with-openssl=/home/runner/openssl/build --enable-ssls-export
|
||||
--with-libuv
|
||||
|
||||
- name: 'openssl'
|
||||
install_steps: skipall
|
||||
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
generate: >-
|
||||
-DOPENSSL_ROOT_DIR=/home/runner/openssl/build
|
||||
-DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
|
||||
-DCMAKE_UNITY_BUILD=ON
|
||||
|
||||
- name: 'quictls'
|
||||
install_steps: skipall
|
||||
PKG_CONFIG_PATH: /home/runner/quictls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
configure: >-
|
||||
LDFLAGS=-Wl,-rpath,/home/runner/quictls/build/lib
|
||||
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug --disable-ntlm
|
||||
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
|
||||
--with-ngtcp2 --disable-ntlm
|
||||
--with-openssl=/home/runner/quictls/build --enable-ssls-export
|
||||
--with-libuv
|
||||
--enable-unity
|
||||
|
||||
- name: 'quictls'
|
||||
PKG_CONFIG_PATH: /home/runner/quictls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
generate: >-
|
||||
-DOPENSSL_ROOT_DIR=/home/runner/quictls/build
|
||||
-DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
|
||||
|
||||
- name: 'gnutls'
|
||||
install_steps: skipall
|
||||
PKG_CONFIG_PATH: /home/runner/gnutls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
configure: >-
|
||||
LDFLAGS=-Wl,-rpath,/home/runner/gnutls/build/lib
|
||||
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug
|
||||
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
|
||||
--with-ngtcp2
|
||||
--with-gnutls=/home/runner/gnutls/build --enable-ssls-export
|
||||
--with-libuv
|
||||
|
||||
- name: 'gnutls'
|
||||
PKG_CONFIG_PATH: /home/runner/gnutls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
generate: >-
|
||||
-DCURL_USE_GNUTLS=ON
|
||||
-DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
|
||||
-DCMAKE_UNITY_BUILD=ON
|
||||
|
||||
- name: 'wolfssl'
|
||||
install_steps: skipall
|
||||
PKG_CONFIG_PATH: /home/runner/wolfssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
configure: >-
|
||||
LDFLAGS=-Wl,-rpath,/home/runner/wolfssl/build/lib
|
||||
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug
|
||||
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
|
||||
--with-ngtcp2
|
||||
--with-wolfssl=/home/runner/wolfssl/build
|
||||
--enable-ech --enable-ssls-export
|
||||
--with-libuv
|
||||
--enable-unity
|
||||
|
||||
- name: 'wolfssl'
|
||||
PKG_CONFIG_PATH: /home/runner/wolfssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
generate: >-
|
||||
-DCURL_USE_WOLFSSL=ON -DUSE_NGTCP2=ON -DENABLE_DEBUG=ON
|
||||
-DTEST_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
|
||||
-DHTTPD_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
|
||||
-DCURL_USE_WOLFSSL=ON -DUSE_NGTCP2=ON
|
||||
-DUSE_ECH=ON
|
||||
-DCURL_USE_LIBUV=ON
|
||||
|
||||
- name: 'openssl-quic'
|
||||
install_steps: skipall
|
||||
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
configure: >-
|
||||
LDFLAGS=-Wl,-rpath,/home/runner/openssl/build/lib
|
||||
--enable-warnings --enable-werror --enable-debug --disable-ntlm
|
||||
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
|
||||
--disable-ntlm
|
||||
--with-openssl=/home/runner/openssl/build --with-openssl-quic
|
||||
--with-libuv
|
||||
|
||||
- name: 'openssl-quic'
|
||||
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
|
||||
generate: >-
|
||||
-DOPENSSL_ROOT_DIR=/home/runner/openssl/build -DUSE_OPENSSL_QUIC=ON
|
||||
-DCURL_DISABLE_NTLM=ON
|
||||
-DCMAKE_UNITY_BUILD=ON
|
||||
|
||||
- name: 'quiche'
|
||||
install_steps: skipall
|
||||
configure: >-
|
||||
LDFLAGS=-Wl,-rpath,/home/runner/quiche/target/release
|
||||
--with-openssl=/home/runner/quiche/quiche/deps/boringssl/src
|
||||
--enable-warnings --enable-werror --enable-debug
|
||||
--with-quiche=/home/runner/quiche/target/release
|
||||
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
|
||||
--with-ca-fallback
|
||||
--with-libuv
|
||||
--enable-unity
|
||||
|
||||
- name: 'quiche'
|
||||
PKG_CONFIG_PATH: /home/runner/quiche/target/release
|
||||
generate: >-
|
||||
-DOPENSSL_ROOT_DIR=/home/runner/quiche/quiche/deps/boringssl/src -DENABLE_DEBUG=ON
|
||||
-DOPENSSL_ROOT_DIR=/home/runner/quiche/quiche/deps/boringssl/src
|
||||
-DUSE_QUICHE=ON
|
||||
-DTEST_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
|
||||
-DHTTPD_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
|
||||
-DCURL_CA_FALLBACK=ON
|
||||
-DCURL_USE_LIBUV=ON
|
||||
|
||||
steps:
|
||||
- name: 'install prereqs'
|
||||
|
|
@ -470,10 +487,15 @@ jobs:
|
|||
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
|
||||
cmake -B bld -G Ninja \
|
||||
-DCMAKE_C_COMPILER_TARGET="$(uname -m)-pc-linux-gnu" -DBUILD_STATIC_LIBS=ON \
|
||||
-DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON \
|
||||
-DCURL_WERROR=ON -DENABLE_DEBUG=ON \
|
||||
-DCURL_USE_LIBUV=ON \
|
||||
-DTEST_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx \
|
||||
-DHTTPD_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx \
|
||||
${MATRIX_GENERATE}
|
||||
else
|
||||
mkdir bld && cd bld && ../configure --enable-unity --enable-warnings --enable-werror \
|
||||
mkdir bld && cd bld && ../configure --enable-warnings --enable-werror --enable-debug \
|
||||
--with-libuv \
|
||||
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx \
|
||||
--disable-dependency-tracking \
|
||||
${MATRIX_CONFIGURE}
|
||||
fi
|
||||
|
|
@ -502,6 +524,7 @@ jobs:
|
|||
run: bld/src/curl -V
|
||||
|
||||
- name: 'build tests'
|
||||
if: ${{ !contains(matrix.build.install_steps, 'skipall') }}
|
||||
run: |
|
||||
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
|
||||
cmake --build bld --verbose --target testdeps
|
||||
|
|
@ -510,11 +533,13 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: 'install test prereqs'
|
||||
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
|
||||
run: |
|
||||
source ~/venv/bin/activate
|
||||
python3 -m pip install -r tests/requirements.txt
|
||||
|
||||
- name: 'run tests'
|
||||
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
|
||||
env:
|
||||
TFLAGS: '${{ matrix.build.tflags }}'
|
||||
run: |
|
||||
|
|
@ -526,11 +551,13 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: 'install pytest prereqs'
|
||||
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
|
||||
run: |
|
||||
source ~/venv/bin/activate
|
||||
python3 -m pip install -r tests/http/requirements.txt
|
||||
|
||||
- name: 'run pytest event based'
|
||||
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
|
||||
env:
|
||||
CURL_TEST_EVENT: 1
|
||||
PYTEST_ADDOPTS: '--color=yes'
|
||||
|
|
@ -542,11 +569,3 @@ jobs:
|
|||
else
|
||||
make -C bld V=1 pytest-ci
|
||||
fi
|
||||
|
||||
- name: 'build examples'
|
||||
run: |
|
||||
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
|
||||
cmake --build bld --verbose --target curl-examples-build
|
||||
else
|
||||
make -C bld V=1 examples
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue