#
71cf0d1f |
| 02-Sep-2024 |
Viktor Szakats |
tests: speed up builds with single-binary test bundles Add support for single-block binaries that contain all libtests and unit tests respectively. Enable with: - autotools:
tests: speed up builds with single-binary test bundles Add support for single-block binaries that contain all libtests and unit tests respectively. Enable with: - autotools: `--enable-test-bundles` - cmake: `-DCURL_TEST_BUNDLES=ON` (They are compatible with `--enable-unity` and `-DCMAKE_UNITY_BUILD=ON` options, for further speed-up.) Makes libtests and unit tests build _fast_, needing little disk space even in static mode. Similar to CMake unity mode, but with a custom script, also supporting autotools builds. The price is having to deal with symbols/macros colliding between `lib*.c` and `unit*.c` sources. Maybe with naming conventions or other solutions this can be improved gradually and reduce the need for manual intervention by `mk-bundle.mk`. I've included a script that does the bulk of detecting name collisions. Also: - CI: enable test bundles. - CI: build tests in more jobs. - lib2305: fix FILE handle leak. - unit1661: fix memleak found by torture test by releasing the `bufref` structure in `unit_stop()` that was allocated in `unit_setup()`. ``` test 1661...[bufref unit tests] Leak detected: memory still allocated: 13 bytes allocated by /home/runner/work/curl/curl/tests/unit/unit1661.c:70 1661: torture FAILED: function number 1 in test. ``` Ref: https://github.com/curl/curl/actions/runs/10967279334/job/30456745290?pr=14772#step:8:41 Similar test suite builds with autotools default and cmake+bundle+unity: - GHA/Linux: 33s vs 7s https://github.com/curl/curl/actions/runs/10705668823/job/29681617374 - GHA/macOS 34s vs 2s https://github.com/curl/curl/actions/runs/10705668813/job/29681632885 - GHA/FreeBSD: 15m25 vs 6m21 (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10705668811/job/29681607915 - GHA/Cygwin: 9m52 vs 32s https://github.com/curl/curl/actions/runs/10705668809/job/29681609965 - GHA/MSYS2: 3m52 vs 14s https://github.com/curl/curl/actions/runs/10705668808/job/29681624295 - GHA/mingw-w64: 5m45 vs 30s https://github.com/curl/curl/actions/runs/10705668808/job/29681628787 Autotools test suite builds compared between master -> `--enable-test-bundles`: - GHA/Linux: 33s -> 9s (run tests: 22m23 -> 20m44) https://github.com/curl/curl/actions/runs/10710030193/job/29695932185 https://github.com/curl/curl/actions/runs/10967831456/job/30458220344 - GHA/macOS: 25s -> 4s (run tests: 2m58 -> 2m24) https://github.com/curl/curl/actions/runs/10710030195/job/29695938444 https://github.com/curl/curl/actions/runs/10967831452/job/30458225762 - GHA/non-native (FreeBSD): 4m8 -> 3m12 (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10710030198/job/29695928401 https://github.com/curl/curl/actions/runs/10967831458/job/30458212692 - GHA/Cygwin: 9m25 -> 1m9 (run tests: 9m19 -> 3m28) https://github.com/curl/curl/actions/runs/10710030212/job/29695928213 https://github.com/curl/curl/actions/runs/10967831453/job/30458213268 - GHA/MSYS2: 3m54 -> 32s (run tests: 6m3 -> 3m59) https://github.com/curl/curl/actions/runs/10710030190/job/29704850591 https://github.com/curl/curl/actions/runs/10967831449/job/30459280005 - GHA/mingw-w64: 5m42 -> 1m5 (run tests: 7m41 -> 5m36) https://github.com/curl/curl/actions/runs/10710030190/job/29704852058 https://github.com/curl/curl/actions/runs/10967831449/job/30459280862 - Azure MSYS2 mingw64 openssl: 38m55 -> 11m58 https://dev.azure.com/daniel0244/curl/_build/results?buildId=25546&view=logs&j=b58b8c59-0f61-52e9-0f9e-fad562a1e77f&t=0f9230a7-3b10-53ca-9938-700ece377c5e https://dev.azure.com/daniel0244/curl/_build/results?buildId=25547&view=logs&jobId=39473db1-3945-55d5-deb5-c218fad88dce&j=b58b8c59-0f61-52e9-0f9e-fad562a1e77f&t=0f9230a7-3b10-53ca-9938-700ece377c5e - Azure Ubuntu default: 2m15 -> 55s (all build) https://dev.azure.com/daniel0244/curl/_build/results?buildId=25546&view=logs&j=9d58b9ac-e1e6-53b6-f83a-1f9f1d912522&t=a6b38d83-e7cf-5a9b-c762-a178412717b7 https://dev.azure.com/daniel0244/curl/_build/results?buildId=25547&view=logs&jobId=39473db1-3945-55d5-deb5-c218fad88dce&j=9d58b9ac-e1e6-53b6-f83a-1f9f1d912522&t=a6b38d83-e7cf-5a9b-c762-a178412717b7 Cmake test suite builds compared between master -> `-DCURL_TEST_BUNDLES=ON` + unity: - GHA/Linux: 29s -> 7s (run tests: 4m50 -> 4m57, 20m43 -> 20m45) https://github.com/curl/curl/actions/runs/10710030193/job/29695941814 https://github.com/curl/curl/actions/runs/10705668823/job/29681622201 - GHA/Linux old: 44s -> 13s (bundle+no unity) (run tests: 5m5 -> 5m6) https://github.com/curl/curl/actions/runs/10718264094/job/29719794727 https://github.com/curl/curl/actions/runs/10718653175/job/29721009613 - GHA/macOS: 32s -> 2s (run tests: 2m43 -> 2m40) https://github.com/curl/curl/actions/runs/10710030195/job/29695931956 https://github.com/curl/curl/actions/runs/10705668813/job/29681638937 - GHA/non-native (*BSD): inconclusive (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10710030198 https://github.com/curl/curl/actions/runs/10705668811 - GHA/Cygwin: 3m9 -> 32s https://github.com/curl/curl/actions/runs/10710030212/job/29695929075 https://github.com/curl/curl/actions/runs/10705668809/job/29681609965 - GHA/MSYS2: 2m24 -> 14s https://github.com/curl/curl/actions/runs/10710030190/job/29704850996 https://github.com/curl/curl/actions/runs/10705668808/job/29681624295 - GHA/mingw-w64: 3m56 -> 30s (run tests: 4m2 -> 3m52) https://github.com/curl/curl/actions/runs/10710030190/job/29704852219 https://github.com/curl/curl/actions/runs/10705668808/job/29681631393 - GHA/mingw-w64-old: 7m19 -> 1m44 (run tests: 3m30 -> 2m53) https://github.com/curl/curl/actions/runs/10710030190/job/29704849763 https://github.com/curl/curl/actions/runs/10705668808/job/29681622329 - GHA/MSVC: 3m22 -> 13s (run tests: 9m43 -> 4m22) https://github.com/curl/curl/actions/runs/10710030190/job/29704850411 https://github.com/curl/curl/actions/runs/10705668808/job/29681623313 - AppVeyor CI MSVC 2008: 4m3 -> 45s (full build) - AppVeyor CI MSVC 2010: 2m56 -> 1m8 (full build) - AppVeyor CI MSVC 2022: 10m19 -> 2m23 (full build) https://ci.appveyor.com/project/curlorg/curl/builds/50538455 https://ci.appveyor.com/project/curlorg/curl/builds/50536558 - AppVeyor CI total build time: 10m30 (master) -> 6m48 (unity) -> 4m5 (bundle) -> 3m24 (bundle+unity) -> 5m7 (bundle+unity+all jobs building tests) Closes #14772
show more ...
|
#
d83b528a |
| 10-Sep-2024 |
Viktor Szakats |
tidy-up: spelling C89, Schannel, Secure Transport, contractions. Cherry-picked from #14692 Closes #14996
|
#
c5e3d8ba |
| 19-Sep-2024 |
Viktor Szakats |
GHA: speed up builds in torture jobs, tidy up - use cmake with ninja. - drop unnecessary packages. Also: - Linux: switch to Ubuntu 20.24 runner. Initially for newer packages
GHA: speed up builds in torture jobs, tidy up - use cmake with ninja. - drop unnecessary packages. Also: - Linux: switch to Ubuntu 20.24 runner. Initially for newer packages, then left it there for variation and as canary. - Linux: make it easier to enable valgrind by dropping `-n` tflags. - Linux: show `curl -V` after build. - Linux: sync job names with macOS. - Linux, macOS: review and adjust job timeouts. - Linux, macOS: sync job configs more: Linux: enable libssh2, macOS: enable brotli, zstd, libssh2. - macOS: prefer `source` (over manual `PATH` editing) for `venv` setup. - macOS: drop redundant `-DENABLE_CURLDEBUG=ON`. - macOS: drop redundant `-n` tflags. There is no valgrind on macOS. - macOS: allow overriding test parallelism per job. - macOS: unlock all disabled tests for torture jobs. Speed-ups (configure/build stage): - Linux !FTP: 83s -> 36s before: https://github.com/curl/curl/actions/runs/10948030198/job/30398134647 after: https://github.com/curl/curl/actions/runs/10961987675/job/30440179978?pr=14972 - Linux FTP: 79s -> 32s before: https://github.com/curl/curl/actions/runs/10948030198/job/30398137070 after: https://github.com/curl/curl/actions/runs/10961987675/job/30440182406?pr=14972 - macOS !FTP: 98s -> 29s before: https://github.com/curl/curl/actions/runs/10960141275/job/30434081412?pr=14972 after: https://github.com/curl/curl/actions/runs/10960141275/job/30434082357?pr=14972 - macOS FTP: 129s -> 29s before: https://github.com/curl/curl/actions/runs/10960141275/job/30434082041?pr=14972 after: https://github.com/curl/curl/actions/runs/10960141275/job/30434083050?pr=14972 Closes #14972
show more ...
|
#
60c3d044 |
| 06-Sep-2024 |
Viktor Szakats |
autotools: add support for 'unity' builds, enable in CI Implement the "unity" builds as known from CMake, but for autotools. It's limited to `lib` and `src` (CMake also supports it in `t
autotools: add support for 'unity' builds, enable in CI Implement the "unity" builds as known from CMake, but for autotools. It's limited to `lib` and `src` (CMake also supports it in `tests`). Enable with: `--enable-unity` (disabled by default) Unity builds speed up builds significantly. Cygwin and Windows builds in particular, but the effect is noticeable on most systems. It also allows discovering unity issues with autotools, benefitting also CMake when building the same combination. In CI it makes turnaround times quicker. This closes build performance with CMake. autotools still lags behind because it builds shared and static libcurl in two, separate passes. CMake does it in one. Manpage compilation isn't batched, it is in CMake. After unity and test bundle support the slowest parts of the build are the configuration phase (which is effectively a tedious, non-parallel, compilation and/or linking of 300+ tiny programs. The next bottleneck is compiling individual examples and finally test servers (only slow with autotools). The autotools implementation is slightly less efficient than CMake, because 3 sources are permanently excluded while in CMake this isn't necessary and solved more efficiently while building libtests. There is also no 'unity' support for tests, making them a less efficient also. Enable it in CI for most `configure` jobs. Except in GHA/dist (though it works fine there too), to use the default config there. Also skip for the Linux AWC-LC job where it made builds time a few seconds longer (reason undiscovered.) Autotools test suite builds compared between master -> `--enable-unity`: - GHA/Linux: 32s -> 12s https://github.com/curl/curl/actions/runs/10705668823/job/29681617374 https://github.com/curl/curl/actions/runs/10742978889/job/29796766297 - GHA/macOS: 37s -> 10s https://github.com/curl/curl/actions/runs/10705668813/job/29681632885 https://github.com/curl/curl/actions/runs/10742978699/job/29796768875 - GHA/FreeBSD: 15m25 -> 10m58 (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10705668811/job/29681607915 https://github.com/curl/curl/actions/runs/10742978937/job/29796766115 - GHA/Cygwin: 3m32 -> 1m21 https://github.com/curl/curl/actions/runs/10705668809/job/29681609965 https://github.com/curl/curl/actions/runs/10742978645/job/29796756933 - GHA/MSYS2: 2m42 -> 50s https://github.com/curl/curl/actions/runs/10705668808/job/29681621166 https://github.com/curl/curl/actions/runs/10742978662/job/29799739289 - GHA/mingw-w64: 5m32 -> 1m23 https://github.com/curl/curl/actions/runs/10705668808/job/29681628787 https://github.com/curl/curl/actions/runs/10742978662/job/29799741568 Closes #14815
show more ...
|
#
45202cbb |
| 14-Sep-2024 |
Viktor Szakats |
cmake: separate target for examples, optimize CI, fix fallouts - Move `docs/examples` builds under a separate target. - Make `BUILD_EXAMPLES` default to `ON`. It means to generate t
cmake: separate target for examples, optimize CI, fix fallouts - Move `docs/examples` builds under a separate target. - Make `BUILD_EXAMPLES` default to `ON`. It means to generate the rules for `docs/examples` by default, but not build them. To build them, an explicit `make curl-examples` (or ninja, etc) command is necessary. This syncs behaviour with autotools, and also how both cmake and autotools are building tests. - GHA: update cmake jobs to use the new way of building examples. - GHA: move examples build step at the end of the job, after building and running tests. This allows to have build and test run results faster, and leave the seldom-changing examples build to the end. Building examples is the slowest build step with no practical way to make them fast. - appveyor: enable building examples in two old-MSVC jobs. - examples: fix examples to build cleanly with old MSVC versions. - GHA/non-native: move example build log under a GHA foldable section. - GHA/windows: move building examples into separate step for Linux cross jobs. Follow-up to dfdd978f7c60224dffe2aac25b436dc0a5cd0186 #13491 Closes #14906
show more ...
|
#
e53523fe |
| 11-Sep-2024 |
Viktor Szakats |
CI: move Azure jobs to GHA, fix fallouts, sshserver, runtests tweaks CI: - GHA/windows: enable OpenSSH server, SysInternals `handle`, `impacket`. Skip `impacket` on MSYS2 due
CI: move Azure jobs to GHA, fix fallouts, sshserver, runtests tweaks CI: - GHA/windows: enable OpenSSH server, SysInternals `handle`, `impacket`. Skip `impacket` on MSYS2 due to install failure. Skip OpenSSH server for old/standalone mingw-w64 (building curl without SSH there.) - GHA/windows: make test tool installs a separate step. - GHA/cygwin: enable OpenSSH server. Skip `impacket`: it's compiling for 7 minutes then breaks. Skip `stunnel` due to sluggish test run performance. (This update is unrelated to Azure jobs.) - GHA/linux: migrate Linux jobs from Azure CI. - GHA/linux: migrate scanbuild job from Azure CI. - GHA/linux: enable libssh2 in a job. Also enable valgrind. - CI/windows: enable SSPI in two jobs. - CI/windows: disable zlib in one more job. - CI/windows: improve `if` condition checking GnuTLS. - CI/windows: ignore SFTP/SCP tests as necessary. - universally ignore SCP tests, they fail everywhere. - ignore test 612. - ignore test 613 616 618 with MSYS2 mingw-w64. - ignore test 614 with libssh. - ignore all SFTP with MSYS2 native. - ignore all SFTP with vcpkg with `libssh2[core,zlib]`. - ignore a couple of SFTP tests with MSYS2 mingw-w64. (This matches settings on Azure CI.) - GHA/windows: ignore failing 1451 'Basic SMB request' test for old mingw-w64 7.3.0 (but not for 9.5.0!): ``` 2024-09-11 21:45:59,738 ERROR smbComNegotiate: b'NT LM 0.12\x00' is not in list [...] curl: (7) Could not connect to server [...] FAIL 1451: 'Basic SMB request' SMB ``` Ref: https://github.com/curl/curl/actions/runs/10816280746/job/30007130770#step:13:3546 - CI/Azure: delete, now moved to GHA. sshserver: - sshserver: fix permissions for SSH host key on Windows, allowing sshd to launch. - sshserver: fix initializing config paths with Cygwin/MSYS2 sshd. - sshserver: fix initializing config paths in parallel builds. - sshserver: delete redundant `DenyUsers`. This also opens the way to allow multiple usernames. - sshserver: fix `AllowUsers` for GHA/windows, by allowing the domainless username again. Follow-up to 3ee7c676ec8ef32e3a9cb4d0fb2929a8335d58db #5721 - sshserver: fix `Deprecated option` warnings in `sshd_config`: ``` D:/a/curl/curl/bld/tests/log/2/server/curl_sshd_config line 7: Deprecated option AuthorizedKeysFile2 D:/a/curl/curl/bld/tests/log/2/server/curl_sshd_config line 25: Deprecated option KeyRegenerationInterval D:/a/curl/curl/bld/tests/log/2/server/curl_sshd_config line 35: Deprecated option RhostsRSAAuthentication D:/a/curl/curl/bld/tests/log/2/server/curl_sshd_config line 36: Deprecated option RSAAuthentication D:/a/curl/curl/bld/tests/log/2/server/curl_sshd_config line 37: Deprecated option ServerKeyBits D:/a/curl/curl/bld/tests/log/2/server/curl_sshd_config line 41: Deprecated option UseLogin ``` - sshserver: fix `Deprecated option` warnings in `ssh_config` with Cygwin/MSYS2. - sshserver: fix dumping config files due to the filenames missing their full paths. - sshserver: add workaround to make `logmsg` messages visible. Before this patch they only went to a file and never shown. runtests: - runtests: log details when these Windows commands are called: `handle`, `taskkill`, `tasklist`. - runtests: add documentation links to Windows tools: `handle`, `taskkill`, `tasklist`, `icacls`. - runtests: add `-t` (kill whole tree) option to `taskkill` in `servers.pm`, syncing it with the other `taskkill` call. Follow-up to bc72a78a11764558639131d51fa8e7c81ee1e113 #14488 - runtests: show warning if Sysinternals `handle` tool is missing. - runtests: drop Windows XP Home compatibility `tskill` call. The call was made on all Windows versions. It's possibly overkill to do this, because XP Home is probably rarely used for running curl tests these days. In case it's needed, it'd be better to put it under an explicit option. - runtests: show Perl version and path. Fix/silence fallouts: - unit2603: fix building with disabled HTTP support. - unit2604: silence `-Woverlength-strings` warnings in C89 mode. - test437, test1614: fix to pass with no-IPv6 builds. Closes #14859
show more ...
|
#
c3a7145a |
| 15-Sep-2024 |
Viktor Szakats |
GHA/macos: tidy-up - drop redundant `brew autoconf`. It's automatically installed via `automake`. - whitespace
|
#
8709404f |
| 15-Sep-2024 |
Viktor Szakats |
GHA/macos: make impacket found by tests Also move impacket installation right before the test run to avoid spending 10s installing if the build fails. Closes #14913
|
#
c89cc09a |
| 14-Sep-2024 |
Viktor Szakats |
GHA/macos: replace make with ninja for cmake builds Ninja performs better than GNU Make. Also the generation step is a bit faster. The cost is installing ninja where missing from the ima
GHA/macos: replace make with ninja for cmake builds Ninja performs better than GNU Make. Also the generation step is a bit faster. The cost is installing ninja where missing from the image, and there is no pre-existing package install step. Otherwise the installation is fast because the tool is tiny. (It would probably make sense to include ninja on the runner image; it's a near zero-cost optimization opportunity for all CI jobs using cmake.) Speed-ups: Build step: 3s -> 1s. Build tests step: 37s -> 22s. before: https://github.com/curl/curl/actions/runs/10865247916/job/30151507582?pr=14911 after: https://github.com/curl/curl/actions/runs/10865301046/job/30151610055?pr=14910 Closes #14910
show more ...
|
#
51fc8996 |
| 14-Sep-2024 |
Viktor Szakats |
GHA/macos: tidy-ups, install impacket for cmake jobs - install impacket for cmake jobs. - stop installing autotools for cmake jobs. (also saving the extra seconds necessary fo
GHA/macos: tidy-ups, install impacket for cmake jobs - install impacket for cmake jobs. - stop installing autotools for cmake jobs. (also saving the extra seconds necessary for impacket install.) - delete no longer necessary openssl pkg-config patch. - `brew unlink openssl` unconditionally. This is safe, we no longer need it at the default path, and the condition were never met anyway for a while now. - stop installing openssl, it's there on the base image. (it was also missed for cmake, but that's okay) before: https://github.com/curl/curl/actions/runs/10864438947/job/30149718802 after: https://github.com/curl/curl/actions/runs/10865247916/job/30151507582 Closes #14911
show more ...
|
#
b29caf0b |
| 12-Sep-2024 |
Daniel Stenberg |
GHA/macOS: add an -e test Adds -e to runtests for using the event-based API in the tool. Closes #14876
|
#
6004f967 |
| 27-Aug-2024 |
Viktor Szakats |
cmake: default `CURL_DISABLE_LDAPS` to the value of `CURL_DISABLE_LDAP` After this patch LDAPS is disabled by default when LDAP is manually disabled. This makes it unnecessary t
cmake: default `CURL_DISABLE_LDAPS` to the value of `CURL_DISABLE_LDAP` After this patch LDAPS is disabled by default when LDAP is manually disabled. This makes it unnecessary to disable them in sync manually just to avoid a `CMakeLists.txt` warning. Syncs behavior with `./configure`. Closes #14758
show more ...
|
#
d620ec67 |
| 27-Aug-2024 |
Viktor Szakats |
CI: add test timeouts, more cmake build tests, fix VS2010 C warning - GHA/macos: set timeout for test runs. Double the value for autotools to fit torture tests. - GHA/cygwin: reduc
CI: add test timeouts, more cmake build tests, fix VS2010 C warning - GHA/macos: set timeout for test runs. Double the value for autotools to fit torture tests. - GHA/cygwin: reduce test run timeout for autotools. - GHA/cygwin: enable building tests with cmake. - GHA/windows: enable building tests with MSYS cmake. - GHA/windows: enable building tests with MSVC UWP. - appveyor: enable building tests with VS2008 x86 and VS2010 x64. - tests: add workaround compiler warnings when building with VS2010: ``` tests\server\util.c(482): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(486): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(490): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(720): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(726): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(732): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(781): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(785): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size tests\server\util.c(789): warning C4306: 'type cast' : conversion from 'int' to 'void (__cdecl *)(int)' of greater size ``` Ref: https://ci.appveyor.com/project/curlorg/curl/builds/50485633/job/4ujlwxod3cexmn2q#L1535 With this, tests are built in all GHA cygwin/windows jobs. Timeouts avoid long runs with runaway issues, example: https://github.com/curl/curl/actions/runs/10575522173 Closes #14700
show more ...
|
#
2c9331be |
| 26-Aug-2024 |
Viktor Szakats |
GHA/macos: drop options no longer necessary Follow-up to 7673c1292955f1c4dc0d19acd3051b5acfb349aa #14674 Closes #14693
|
#
4b791dca |
| 23-Aug-2024 |
Viktor Szakats |
GHA/macos: ignore flaky tests 2041 and 2037 - FAIL 2037: 'simple HTTPS GET with PEM public key pinning' HTTPS, HTTP GET, PEM certificate https://github.com/curl/curl/actions/runs/10529
GHA/macos: ignore flaky tests 2041 and 2037 - FAIL 2037: 'simple HTTPS GET with PEM public key pinning' HTTPS, HTTP GET, PEM certificate https://github.com/curl/curl/actions/runs/10529314166/job/29176801513?pr=14658 - FAIL 2041: 'simple HTTPS GET with base64-sha256 public key pinning' HTTPS, HTTP GET, PEM certificate https://github.com/curl/curl/actions/runs/10529181645/job/29176408976#step:16:4363 https://github.com/curl/curl/actions/runs/10529019749/job/29175882809#step:13:5235 https://github.com/curl/curl/actions/runs/10528920874/job/29175559070#step:16:4363 https://github.com/curl/curl/actions/runs/10528759817/job/29175043048#step:16:4274 https://github.com/curl/curl/actions/runs/10525250422/job/29163662307#step:16:4366 https://github.com/curl/curl/actions/runs/10525250422/job/29163662602#step:13:3569 Happened with cmake, autotools, gcc, clang and various TLS backends. Follow-up to fa461b4eff52b413f88debf543b5350a6cef4724 #14486 Closes #14667
show more ...
|
#
f73f6bf9 |
| 22-Aug-2024 |
Viktor Szakats |
GHA: add yamlcheck Uses `yamllint`. Also: - fix warning for existing YAML files: ``` [truthy] truthy value should be one of [false, true] ``` Closes #
GHA: add yamlcheck Uses `yamllint`. Also: - fix warning for existing YAML files: ``` [truthy] truthy value should be one of [false, true] ``` Closes #14650
show more ...
|
#
fa461b4e |
| 07-Aug-2024 |
Aki <75532970+AkiSakurai@users.noreply.github.com> |
GHA/macos: enable HTTPS tests with stunnel - Install stunnel. - Regenerate certificates (as SecureTransport requires a validity period less than 398 days). - Restart
GHA/macos: enable HTTPS tests with stunnel - Install stunnel. - Regenerate certificates (as SecureTransport requires a validity period less than 398 days). - Restart server if it is unresponsive. - Do not hardcode the SHA-256 base64 public pinned key. - Ignore test 313 as SecureTransport does not support crl file. - Ignore tests 1631 and 1632 as SecureTransport is not yet able to shut down FTP over HTTPS gracefully. - Add a CMake target for generating certificates. Closes #14486
show more ...
|
#
576b39b6 |
| 20-Aug-2024 |
Viktor Szakats |
cmake: drop libssh CONFIG-style detection Drop `find_package(libssh CONFIG)` detection method in favour of the Find module that supports both `pkg-config`, and CMake-native (since #1
cmake: drop libssh CONFIG-style detection Drop `find_package(libssh CONFIG)` detection method in favour of the Find module that supports both `pkg-config`, and CMake-native (since #14555) detection. This aligns `libssh` detection with other dependencies. It makes the build honor custom configuration via `LIBSSH_INCLUDE_DIR`, `LIBSSH_LIBRARY`. Also enable libssh in a GHA/macos cmake job for build coverage. Fixing: - curl-for-win requiring a hack to configure libssh: https://github.com/curl/curl-for-win/blob/4f9acbed92fd4aac0e874c9a591bec7d621cd9f2/curl.sh#L255-L263 - after #14555, GHA/windows gnutls vcpkg job no longer auto-detected libssh, due to a regression missing to enable libssh when found via `find_package(libssh CONFIG)`. Ref: https://github.com/curl/curl/actions/runs/10470138955/job/28994650338 Follow-up to 422696f0a4f3a9e20d4ba9f12726bb066f1c34fc #14555 Closes #14614
show more ...
|
#
8e9056f8 |
| 20-Aug-2024 |
Viktor Szakats |
GHA/macos: enable brotli and zstd in autotools and cmake jobs They were missing from macOS builds: https://testclutch.curl.se/static/reports/feature-matrix.html Closes #14619
|
#
2401ee68 |
| 13-Aug-2024 |
Viktor Szakats |
cmake: show warning if libpsl is not found Also: - explicitly disable libpsl in CI to avoid configure warning, where necessary. - add TODO to make this warning an error (to mat
cmake: show warning if libpsl is not found Also: - explicitly disable libpsl in CI to avoid configure warning, where necessary. - add TODO to make this warning an error (to match autotools.) Follow-up to 2998874bb61ac6ef3b72d6a61467cd2aaf6e53ea #12661 Closes #14533
show more ...
|
#
9f23c8f2 |
| 14-Aug-2024 |
Viktor Szakats |
cmake: fix and tidy up c-ares builds, enable in more CI jobs - set `CARES_NO_DEPRECATED` to avoid c-ares deprecation warnings. Like autotools does. - drop unused c-ares header
cmake: fix and tidy up c-ares builds, enable in more CI jobs - set `CARES_NO_DEPRECATED` to avoid c-ares deprecation warnings. Like autotools does. - drop unused c-ares header directory when building libtests and test servers. - disable TrackMemory (aka `CURLDEBUG`) feature for MSVC builds. It fails on test 558 and 1330, saying that TrackMemory isn't working. Left a FIXME about it. - GHA/macos: enable c-ares in a cmake job. - GHA/windows: enable c-ares in MSVC job. Fixes #14202 - GHA/windows: add c-ares mingw autotools job with tests. (move `--with-windows-unicode` option from 'default' job to this one to keep the former "default".) Put these tests on ignore for now: ``` FAIL 472: 'aws-sigv4 with query' HTTP, aws-sigv4 FAIL 1299: 'Send "OPTIONS *" with --request-target' HTTP, --request-target FAIL 1613: 'Send "OPTIONS *" with --request-target to a proxy' HTTP, HTTP proxy, --request-target ``` Ref: https://github.com/curl/curl/actions/runs/10388126947/job/28765761441#step:15:5902 472: fails with mingw despite Unicode enabled. 1299, 1613: seem like a case of expanding '*' to a filename. - GHA/windows: enable c-ares in mingw cmake job. Closes #14541
show more ...
|
#
27848019 |
| 13-Aug-2024 |
Viktor Szakats |
cmake: add missing `pkg-config` hints to Find modules - brotli, c-ares, libpsl, libssh2, mbedtls, rustls: Use `pkg-config` for path hints and version info. Syncing them up with t
cmake: add missing `pkg-config` hints to Find modules - brotli, c-ares, libpsl, libssh2, mbedtls, rustls: Use `pkg-config` for path hints and version info. Syncing them up with the rest of Find modules. - GHA/macos: force-disable libssh2 with cmake to sync with autotools. After this patch, cmake auto-detects libssh2 in this job. Closes #14545
show more ...
|
#
d76389d8 |
| 13-Aug-2024 |
Viktor Szakats |
GHA/macos: disable AppleIDN for autotools in combinations jobs Without libidn2, AppleIDN gets enabled by default in autotools. To remain minimal and match cmake. Follow-up
GHA/macos: disable AppleIDN for autotools in combinations jobs Without libidn2, AppleIDN gets enabled by default in autotools. To remain minimal and match cmake. Follow-up to 8de8fe8c98309c8b6183b22cc2e209ce4648173b #14401
show more ...
|
#
2cc56eb7 |
| 12-Aug-2024 |
Viktor Szakats |
GHA/macos: drop gcc-11 No longer present in macos-12, macos-13 images: https://github.com/actions/runner-images/blob/macos-12/20240811.1/images/macos/macos-12-Readme.md https://githu
GHA/macos: drop gcc-11 No longer present in macos-12, macos-13 images: https://github.com/actions/runner-images/blob/macos-12/20240811.1/images/macos/macos-12-Readme.md https://github.com/actions/runner-images/blob/macos-13/20240811.1/images/macos/macos-13-Readme.md Closes #14509
show more ...
|
#
d3f6b2ff |
| 07-Aug-2024 |
Viktor Szakats |
krb5: add Linux/macOS CI tests, fix cmake GSS detection - GHA/macos: enable GSS krb5 in a cmake job. Uses CMake-native detection. - GHA/linux: enable GSS krb5 in autotools job
krb5: add Linux/macOS CI tests, fix cmake GSS detection - GHA/macos: enable GSS krb5 in a cmake job. Uses CMake-native detection. - GHA/linux: enable GSS krb5 in autotools job and add a cmake job to match. CMake uses `pkg-config`-based detection. - GHA/linux: add step to dump configure logs. - fix and simplify logic digesting FindGSS output. - cmake: add `heimdal-gssapi` to `libcurl.pc`. Closes #14447
show more ...
|