mirror of
https://github.com/curl/curl.git
synced 2026-07-02 10:57:17 +03:00
GHA/non-native: improve, migrate x86_64 FreeBSD with tests from Cirrus CI
- run tests via `make test-ci` instead of `make check` with autotools.
- add `x86_64` job for FreeBSD, with tests.
It matches the existing Cirrus CI job, with these differences:
- finishes 3x faster (thanks to parallel tests enabled).
- librtmp is not enabled because it's slated for removal by FreeBSD.
(already past the removal deadline, thought the package still
installs.)
- DICT and TELNET servers fail to start. Couldn't figure out why.
It means skipping test 1450 and 1452.
- it runs more tests, e.g. websockets and ip6-localhost.
- no `pkg update -f`.
- it misses the `CRYPTOGRAPHY_DONT_BUILD_RUST=1`, `pkg delete curl`,
`chmod 777`, `sudo -u nobody` and `sysctl net.inet.tcp.blackhole`
tricks. The latter is the default in these runners, the others did
not affect results.
- set `-j0` for tests in the NetBSD job. Flaky otherwise.
Closes #14244
This commit is contained in:
parent
669ce42275
commit
efce544418
18 changed files with 26 additions and 133 deletions
2
.github/workflows/awslc.yml
vendored
2
.github/workflows/awslc.yml
vendored
|
|
@ -13,7 +13,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -26,7 +25,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
|
|||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
|
|
@ -13,7 +13,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'docs/**'
|
||||
- 'packages/**'
|
||||
|
|
@ -28,7 +27,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'docs/**'
|
||||
- 'packages/**'
|
||||
|
|
|
|||
2
.github/workflows/curl-for-win.yml
vendored
2
.github/workflows/curl-for-win.yml
vendored
|
|
@ -13,7 +13,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -26,7 +25,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
|
|||
2
.github/workflows/fuzz.yml
vendored
2
.github/workflows/fuzz.yml
vendored
|
|
@ -14,7 +14,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
@ -30,7 +29,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
|
|||
2
.github/workflows/http3-linux.yml
vendored
2
.github/workflows/http3-linux.yml
vendored
|
|
@ -14,7 +14,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
@ -29,7 +28,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
|
|||
2
.github/workflows/linux-old.yml
vendored
2
.github/workflows/linux-old.yml
vendored
|
|
@ -27,7 +27,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -40,7 +39,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
|
|||
2
.github/workflows/linux.yml
vendored
2
.github/workflows/linux.yml
vendored
|
|
@ -13,7 +13,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -26,7 +25,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
|
|||
2
.github/workflows/linux32.yml
vendored
2
.github/workflows/linux32.yml
vendored
|
|
@ -14,7 +14,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
@ -29,7 +28,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
|
|||
2
.github/workflows/macos.yml
vendored
2
.github/workflows/macos.yml
vendored
|
|
@ -13,7 +13,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -26,7 +25,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
|
|||
35
.github/workflows/non-native.yml
vendored
35
.github/workflows/non-native.yml
vendored
|
|
@ -13,7 +13,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -26,7 +25,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -71,6 +69,7 @@ jobs:
|
|||
bld/src/curl --disable --version
|
||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
||||
cmake --build bld --config Debug --parallel 3 --target testdeps
|
||||
export TFLAGS='-j0' # flakies: ~389 ~392 ~TFTP and more
|
||||
cmake --build bld --config Debug --target test-ci
|
||||
fi
|
||||
|
||||
|
|
@ -116,6 +115,7 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- { build: 'autotools', arch: 'x86_64', compiler: 'clang' }
|
||||
- { build: 'autotools', arch: 'arm64', compiler: 'clang' }
|
||||
- { build: 'cmake' , arch: 'arm64', compiler: 'clang' }
|
||||
fail-fast: false
|
||||
|
|
@ -130,7 +130,13 @@ jobs:
|
|||
architecture: ${{ matrix.arch }}
|
||||
run: |
|
||||
# https://ports.freebsd.org/
|
||||
sudo pkg install -y autoconf automake libtool pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel py39-openssl py39-impacket py39-cryptography
|
||||
pkgs='autoconf automake libtool pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel'
|
||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then
|
||||
pkgs="${pkgs} py311-openssl py311-impacket py311-cryptography"
|
||||
else
|
||||
pkgs="${pkgs} py39-openssl py39-impacket py39-cryptography"
|
||||
fi
|
||||
sudo pkg install -y ${pkgs}
|
||||
autoreconf -fi
|
||||
export CC='${{ matrix.compiler }}'
|
||||
mkdir bld && cd bld && ../configure --enable-debug --enable-warnings --enable-werror \
|
||||
|
|
@ -143,8 +149,10 @@ jobs:
|
|||
src/curl --disable --version
|
||||
make -j3 examples
|
||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
||||
export TFLAGS='-j12'
|
||||
make check V=1
|
||||
make -j3 -C tests
|
||||
# The OpenSSH server instance for the testsuite cannot be started on FreeBSD,
|
||||
# therefore the SFTP and SCP tests are disabled right away from the beginning.
|
||||
make test-ci V=1 TFLAGS='-j12 !SFTP !SCP'
|
||||
fi
|
||||
|
||||
- name: 'cmake'
|
||||
|
|
@ -156,7 +164,13 @@ jobs:
|
|||
architecture: ${{ matrix.arch }}
|
||||
run: |
|
||||
# https://ports.freebsd.org/
|
||||
sudo pkg install -y cmake pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel py39-openssl py39-impacket py39-cryptography
|
||||
pkgs='cmake pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel'
|
||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then
|
||||
pkgs="${pkgs} py311-openssl py311-impacket py311-cryptography"
|
||||
else
|
||||
pkgs="${pkgs} py39-openssl py39-impacket py39-cryptography"
|
||||
fi
|
||||
sudo pkg install -y ${pkgs}
|
||||
cmake -B bld \
|
||||
'-DCMAKE_C_COMPILER=${{ matrix.compiler }}' \
|
||||
-DCMAKE_UNITY_BUILD=ON \
|
||||
|
|
@ -171,8 +185,9 @@ jobs:
|
|||
bld/src/curl --disable --version
|
||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
||||
cmake --build bld --config Debug --parallel 3 --target testdeps
|
||||
export TFLAGS='-j12'
|
||||
cmake --build bld --config Debug --target test-ci
|
||||
# The OpenSSH server instance for the testsuite cannot be started on FreeBSD,
|
||||
# therefore the SFTP and SCP tests are disabled right away from the beginning.
|
||||
make test-ci V=1 TFLAGS='-j12 !SFTP !SCP'
|
||||
fi
|
||||
|
||||
omnios:
|
||||
|
|
@ -198,5 +213,5 @@ jobs:
|
|||
gmake -j3 install
|
||||
src/curl --disable --version
|
||||
gmake -j3 examples
|
||||
export TFLAGS='-j12 ~MQTT ~FTP'
|
||||
gmake check V=1
|
||||
gmake -j3 -C tests
|
||||
gmake test-ci V=1 TFLAGS='-j12 ~MQTT ~FTP'
|
||||
|
|
|
|||
2
.github/workflows/torture.yml
vendored
2
.github/workflows/torture.yml
vendored
|
|
@ -14,7 +14,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
@ -29,7 +28,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
|
|||
2
.github/workflows/windows.yml
vendored
2
.github/workflows/windows.yml
vendored
|
|
@ -13,7 +13,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
@ -26,7 +25,6 @@ on:
|
|||
- '**/*.md'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'plan9/**'
|
||||
|
|
|
|||
2
.github/workflows/wolfssl.yml
vendored
2
.github/workflows/wolfssl.yml
vendored
|
|
@ -14,7 +14,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
@ -29,7 +28,6 @@ on:
|
|||
- '**/CMakeLists.txt'
|
||||
- '.azure-pipelines.yml'
|
||||
- '.circleci/**'
|
||||
- '.cirrus.yml'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'packages/**'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue