Commit Graph

84 Commits

Author SHA1 Message Date
Viktor Szakats
2d4d0c1fd3
appveyor: replace PowerShell with bash + parallel autotools
PowerShell works (after a steep development curve), but one property of
it stuck and kept causing unresolvable usability issues: With
`$ErrorActionPreference=Stop`, it does abort on failures, but shows only
the first line of the error message. In `Continue` mode, it shows the
full error message, but doesn't stop on all errors. Another issue is
PowerShell considering any stderr output as if the command failed (this
has been improved in 7.2 (2021-Nov), but fixed versions aren't running
in CI and will not be for a long time in all test images.)

Thus, we're going with bash.

Also:
- use `-j2` with autotools tests, making them finish 5-15 minutes per
  job faster.
- omit `POSIX_PATH_PREFIX`.
- use `WINDIR`.
- prefer forward slashes.

Follow-up to: 75078a415d #11999
Ref: #12444

Fixes #12560
Closes #12572
2023-12-21 22:54:07 +00:00
Viktor Szakats
bda2129114
tidy-up: fix yamllint whitespace issues
Closes #12466
2023-12-06 17:25:59 +00:00
Marc Hoersken
2e93c07c87
CI: move distcheck job from Azure Pipelines to GitHub Actions
This will allow for more trigger excludes within Azure Pipelines.

Also fixes seemingly broken check with scripts/installcheck.sh.
Ref: 190374c74e

Assisted-by: Philip Heiduck
Closes #9532
2023-10-08 19:36:16 +02:00
Viktor Szakats
64896fefd0
CI/azure: make MAKEFLAGS global to parallelize all jobs
https://dev.azure.com/daniel0244/curl/_build/results?buildId=17528 (before)
https://dev.azure.com/daniel0244/curl/_build/results?buildId=17545 (after, with -j3)

Closes #11952
2023-09-26 22:08:39 +00:00
Viktor Szakats
cf8f6c04df
CI/azure: migrate old mingw MSYS1 jobs to MSYS2
Also delete an accidental variable reference.

Follow-up to 38029101e2

Closes #11945
2023-09-26 22:08:24 +00:00
Viktor Szakats
38029101e2
mingw: delete support for legacy mingw.org toolchain
Drop support for "old" / "legacy" / "classic" / "v1" / "mingw32" MinGW:
  https://en.wikipedia.org/wiki/MinGW, https://osdn.net/projects/mingw/
Its homepage used to be http://mingw.org/ [no HTTPS], and broken now.
It supported the x86 CPU only and used a old Windows API header and
implib set, often causing issues. It also misses most modern Windows
features, offering old versions of both binutils and gcc (no llvm/clang
support). It was last updated 2 years ago.

curl now relies on toolchains based on the mingw-w64 project:
https://www.mingw-w64.org/  https://sourceforge.net/projects/mingw-w64/
https://www.msys2.org/  https://github.com/msys2/msys2
https://github.com/mstorsjo/llvm-mingw
(Also available via Linux and macOS package managers.)

Closes #11625
2023-09-23 09:12:57 +00:00
Marc Hoersken
c6dc25f111
CI/azure: remove pip, wheel, cryptography, pyopenssl and impacket
These dependencies are now already included in the Docker image.

Ref: 2607a31bca

Closes #11889
2023-09-19 22:13:11 +02:00
Dan Fandrich
223f601c04 test1056: disable on Windows
This test relies on the IPv6 scope field being ignored when connecting to
ipv6-localhost (i.e. [::1%259999] is treated as [::1]). Maybe this is a bit
dodgy, but it works on all our test platforms except Windows. This
test was disabled manually on all Windows CI builds already, so instead
add an incompatible feature and precheck so it's skipped on Windows
everywhere automatically.
2023-09-13 11:26:08 -07:00
Dan Fandrich
fe61f015e5 CI: don't run CI jobs if only another CI was changed
A few paths were missed in the last commit, as well as a job added since
then.

Followup-to 395b9175
2023-04-24 20:46:09 -07:00
Dan Fandrich
c0b6195161 CI: skip Azure for more commits which change only GHA 2023-03-23 21:18:04 -07:00
Viktor Szakats
245773d775
CI: fix copyright header
Follow-up to 395b9175b7
2023-03-13 15:48:16 +00:00
Dan Fandrich
395b9175b7 CI: don't run CI jobs if only another CI was changed
Also skip builds on non-Windows platforms when only Windows build files
have changed.

This should reduce the number of useless builds and the associated
waiting time and chance of spurious failures, freeing resources for
new PRs.

Closes #10742
2023-03-11 18:59:45 -08:00
Daniel Stenberg
e4d5685cb5
DEPRECATE: the original legacy mingw version 1
Remove completely in September 2023

Closes #10667
2023-03-06 11:31:33 +01:00
Daniel Stenberg
2bc1d775f5
copyright: update all copyright lines and remove year ranges
- they are mostly pointless in all major jurisdictions
- many big corporations and projects already don't use them
- saves us from pointless churn
- git keeps history for us
- the year range is kept in COPYING

checksrc is updated to allow non-year using copyright statements

Closes #10205
2023-01-03 09:19:21 +01:00
Daniel Stenberg
58f55ba57e
azure: use "unversioned" clang and clang-tools for scanbuild job
To make it less fragile

Closes #10092
2022-12-14 12:25:18 +01:00
Daniel Stenberg
fb11e45f9c
test972: verify the output without using external tool
It seems too restrictive to assume and use an external tool to verify
the JSON. This now verifies the outut byte per byte. We could consider
building a local "JSON verifyer" in a future.

Remove 'jsonlint' from the CI job.

Reported-by: Marcel Raad
Fixes #9563
Closes #9564
2022-09-22 13:46:40 +02:00
Marc Hoersken
c5c6e86783
CI/runtests.pl: add param for dedicated curl to talk to APIs
This should make it possible to also report test failures
if our freshly build curl binary is not fully functional.

Reviewed-by: Daniel Stenberg
Closes #9360
2022-08-28 19:18:22 +02:00
Marc Hoersken
d80b4f1ef0
CI/azure: align torture shallowness with GHA
There 25 is used with FTP tests skipped, and 20 for FTP tests.
This should make torture tests stay within the 60min timeout.

Reviewed-by: Daniel Stenberg
Closes #9371
2022-08-26 11:37:46 +02:00
Marc Hoersken
3084f87757
CI/azure: reduce flakiness by retrying install/prepare steps
Closes #9010
2022-06-16 20:37:06 +02:00
max.mehl
ad9bc5976d
copyright: make repository REUSE compliant
Add licensing and copyright information for all files in this repository. This
either happens in the file itself as a comment header or in the file
`.reuse/dep5`.

This commit also adds a Github workflow to check pull requests and adapts
copyright.pl to the changes.

Closes #8869
2022-06-13 09:13:00 +02:00
Marc Hoersken
519e5e5f65
CI/azure: remove obsolete strategy for single builds
This shortens these CI job names on GitHub even more.
Follow up to #8906 which also increased their timeout.

Closes #8911
2022-05-25 00:12:03 +02:00
Marc Hoersken
945c4bb701
CI/azure: shorten names of Windows CI jobs
Suggested-by: Daniel Stenberg
Closes #8906
2022-05-24 23:46:33 +02:00
Philip H
22d33956ec
CI: Do not use buildconf. Instead, just use: autoreconf -fi
Closes #8596
2022-03-15 14:15:35 +01:00
Marc Hoersken
f9b212cc84
CI: install Python package impacket to run SMB test 1451
Install Python package impacket in relevant CI workflows.

Follow up to #7935
Supersedes #7940
Closes #8544
2022-03-06 21:22:58 +01:00
Daniel Stenberg
f4f8259d63
azure-pipelines: add a build on Windows with libssh
Closes #8511
2022-02-26 23:44:54 +01:00
Daniel Stenberg
36e8703a20
CI: move scan-build job from Zuul to Azure Pipelines
Closes #8338
2022-01-27 16:13:38 +01:00
Daniel Stenberg
54a3179ebc
CI: move 'distcheck' job from zuul to azure pipelines
Assisted-by: Kushal Das

Closes #8334
2022-01-27 09:33:49 +01:00
Marc Hoersken
f03cc1b7a6
CI: build examples for additional code verification
Some CIs already build them, let's do it on more of them.

Reviewed-by: Daniel Stenberg

Follow up to #7690 and 77311f420a
Replaces #7591
Closes #7922
2021-12-14 07:53:39 +01:00
Daniel Stenberg
ca847ba5cf
azure: make the "w/o HTTP/SMTP/IMAP" build disable SSL proper
The configure line would previously depend on a configure mistake using
--without-openssl that is fixed and now this configure line needs
adjusting to use --without-ssl.

Follow-up to b589696f03

Closes #8006
2021-11-13 14:16:48 +01:00
Marc Hoersken
b3e1ed3160
tests: add Schannel-specific tests and disable unsupported ones
Adds Schannel variants of SSLpinning tests that include the option
--ssl-revoke-best-effort to ignore certificate revocation check
failures which is required due to our custom test CA certificate.

Disable the original variants if the Schannel backend is enabled.

Also skip all IDN tests which are broken while using an msys shell.

This is a step to simplify test exclusions for Windows and MinGW.

Reviewed-by: Jay Satiro
Reviewed-by: Marcel Raad
Reviewed-by: Daniel Stenberg
Closes #7968
2021-11-09 06:34:33 +01:00
Marc Hoersken
74d46aee28
CI: more use of test-ci make target and verbose output
Replace test-nonflaky with test-ci and enable verbose output
in all remaining CIs except Zuul which is customized a lot.

Reviewed-by: Daniel Stenberg
Reviewed-by: Jay Satiro

Follow up to #7785
Closes #7832
2021-10-27 12:33:18 +02:00
Marc Hoersken
ab1671cafe
CI/makefiles: introduce dedicated test target
Make it easy to use the same set of test flags
throughout all current and future CI builds.

Reviewed-by: Jay Satiro

Follow up to #7690
Closes #7785
2021-10-08 20:16:15 +02:00
Marc Hoersken
02c9802fd1
CI: align make and test flags in various config files
1. Use Makefile target to run tests in autotools builds on AppVeyor.
2. Disable testing of SCP protocol on native Windows environments.
3. Remove redundant parameters -a -p from target test-nonflaky.
4. Don't use -vc parameter which is reserved for debugging.

Replaces #7591
Closes #7690
2021-09-27 20:59:29 +02:00
Marc Hoersken
60efeb1e0d
runtests: add option -u to error on server unexpectedly alive
Let's try to actually handle the server unexpectedly alive
case by first making them visible on CI builds as failures.

This is needed to detect issues with killing of the test
servers completely including nested process chains with
multiple PIDs per test server (including bash and perl).

On Windows/cygwin platforms this is especially helpful with
debugging PID mixups due to cygwin using its own PID space.

Reviewed-by: Daniel Stenberg
Closes #7180
2021-09-09 21:28:26 +02:00
Marc Hoersken
ebefa3b9f0
CI: use GitHub Container Registry instead of Docker Hub
Avoid limits on Docker Hub and improve image pull/download speed.

Closes #7587
2021-08-18 20:57:03 +02:00
Marc Hoersken
3970e68dae
CI/azure: reduce compile time with increased parallism
Azure Pipelines CI VMs have 2 CPUs, let's use them.

Closes #7489
2021-07-27 20:42:29 +02:00
Marc Hoersken
8d13ab4c61 CI/azure: increase verbosity and fix outdated task names
Closes #7063
2021-05-16 11:23:59 +02:00
Daniel Stenberg
e052bbcd57
ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
Daniel Stenberg
6fc805d0c1
test972: verify the json output with jsonlint
Make sure one of the azure jobs has jsonlint installed so that the test
runs there.

Ref: #6905
2021-04-17 11:03:40 +02:00
Daniel Stenberg
45d1e24b74
azure: disable test 433 on azure-ubuntu
Something in that environment sets XDG_CONFIG_HOME for us in a way that
breaks the test.

Reported-by: Marc Hörsken
Fixes #6739
Closes #6777
2021-03-23 10:13:20 +01:00
Marc Hoersken
cc9bf974cd
CI/azure: replace python-impacket with python3-impacket
As of this month Azure DevOps uses Ubuntu 20.04 LTS which
no longer supports Python 2 and instead ships Python 3.

Closes #6678
2021-03-01 21:37:25 +01:00
Marc Hoersken
311c31ec8e
runtests.pl: kill processes locking test log files
Introduce a new runtests.pl command option: -rm

For now only required and implemented for Windows.
Ignore stunnel logs due to long running processes.

Requires Sysinternals handle[64].exe to be on PATH.

Reviewed-by: Jay Satiro

Ref: #6058
Closes #6179
2021-03-01 20:19:01 +01:00
Daniel Stenberg
4d2f800677
curl.se: new home
Closes #6172
2020-11-04 23:59:47 +01:00
Daniel Stenberg
96450a1a33
alt-svc: enable by default
Remove CURLALTSVC_IMMEDIATELY, which was never implemented/supported.

alt-svc support in curl is no longer considered experimental

Closes #5868
2020-10-25 23:08:54 +01:00
Marc Hoersken
354afc891d
CI/azure: improve on flakiness by avoiding libtool wrappers
Install curl binaries into MinGW bin folder and use that
for the tests in order to avoid libtool wrapper binaries.

The libtool wrapper binaries (not scripts) on Windows seem
to be one of the possible causes for the following issues:

1. Process output can be lost in the wrapper process chain.
2. Killing the wrapper process does not kill the actual one.

Derived from #5904
Closes #6049
2020-10-16 20:10:26 +02:00
Daniel Stenberg
1556b99f1a
CI/azure: disable test 571 in the msys2 builds
It's just too flaky there

Reviewed-by: Marc Hoersken
Closes #5954
2020-09-16 10:07:24 +02:00
Marc Hoersken
ce56cc8b11
CI/azure: MQTT is now enabled by default
Reviewed-by: Daniel Stenberg

Follow up to #5858
Closes #5903
2020-09-02 16:24:39 +02:00
Marc Hoersken
de77ae0a76
CI/azure: no longer ignore results of test 1013
Follow up to #5771
Closes #5889
2020-08-29 21:41:15 +02:00
Marc Hoersken
451925764c
CI/azure: show runtime stats to investigate slowness
Also avoid naming conflict of TFLAGS env and tflags variables.

Closes #5776
2020-08-09 15:30:27 +02:00
Marc Hoersken
0fc1b8bfdd
CI/azure: install libssh2 for use with msys2-based builds
This enables building and running the SFTP tests.
Unfortunately OpenSSH for Windows does not support SCP (yet).

Reviewed-by: Daniel Stenberg

Closes #5721
2020-07-31 18:55:52 +02:00