2
0
mirror of https://github.com/curl/curl.git synced 2024-12-15 06:40:09 +08:00
Commit Graph

164 Commits

Author SHA1 Message Date
andy5995
f92aae86c6
GHA: add job on Slackware 15.0
Closes 
2023-01-05 23:44:48 +01:00
andy5995
21f5b6bfb7
GHA: Hacktoberfest CI: Update deprecated 'set-output' command
Closes 
2023-01-05 10:12:57 +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 
2023-01-03 09:19:21 +01:00
Philip H
4556665ad1
Linux CI: update some dependecies to latest tag
Closes 
2023-01-02 11:56:49 +01:00
andy5995
92abdaf8e2
GHA: ignore changes to md files for most workflows
Closes 
2023-01-02 00:13:02 +01:00
Nick Banks
72b819f147
msh3: update to v0.5 Release
Closes 
2022-12-22 14:29:40 +01:00
andy5995
3736c0a209
workflows/linux.yml: merge 3 common packages
Closes 
2022-12-22 08:59:08 +01:00
Philip H
5f5660f3a0 CI/spell: actions/checkout@v2 > actions/checkout@v3 2022-12-19 23:15:07 +00:00
Max Dymond
a4fd257c1b ci: Reuse fuzzing snippet from curl-fuzzer project 2022-12-02 22:22:06 +00:00
Diogo Teles Sant'Anna
a2f5a4ca6f
GHA: clarify workflows permissions, set least possible privilege
Set top-level permissions to None on all workflows, setting per-job
permissions. This avoids that new jobs inherit unwanted permissions.

Discussion: https://curl.se/mail/lib-2022-11/0028.html

Signed-off-by: Diogo Teles Sant'Anna <diogoteles@google.com>

Closes 
2022-12-02 23:13:54 +01:00
Stefan Eissing
ca15b7512e
tests: add HTTP/3 test case, custom location for proper nghttpx
- adding support for HTTP/3 test cases via a nghttpx server that is
  build with ngtcp2 and nghttp3.
- test2500 is the first test case, performing a simple GET.
- nghttpx is checked for support and the 'feature' nghttpx-h3
  is set accordingly. test2500 will only run, when supported.
- a specific nghttpx location can be given in the environment
  variable NGHTTPX or via the configure option
    --with-test-nghttpx=<path>

Extend NGHTTPX config to H2 tests as well

* use $ENV{NGHTTPX} and the configured default also in http2 server starts
* always provide the empty test/nghttpx.conf to nghttpx. as it defaults to
  reading /etc/nghttpx/nghttpx.conf otherwise.

Added nghttpx to CI ngtcp2 jobs to run h3 tests.

Closes 
2022-11-30 13:56:06 +01:00
Philip H
4c61a8e8f4
GHA: NSS use clang instead of clang-9
Closes 
2022-11-25 08:59:22 +01:00
Daniel Stenberg
988c1c12f5
Revert "GHA: add scorecard.yml"
This reverts commit ca76c79b34.
2022-11-09 10:29:19 +01:00
Daniel Stenberg
ca76c79b34
GHA: add scorecard.yml
add a "scorecard" scanner job
2022-11-09 10:10:33 +01:00
Marc Hoersken
0e6e56930f
CI: fix AppVeyor status failing for starting jobs 2022-10-24 20:50:27 +02:00
Viktor Szakats
b9a8da4e6e
ci: bump to gcc-11 for macos
Ref: https://github.blog/changelog/2022-10-03-github-actions-jobs-running-on-macos-latest-are-now-running-on-macos-12/
Ref: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md

Reviewed-by: Max Dymond
Closes 
2022-10-23 12:40:26 +00:00
Marc Hoersken
c2e9376a89
CI: fix AppVeyor job links only working for most recent build
Ref: https://github.com/curl/curl/pull/9768#issuecomment-1286675916
Reported-by: Daniel Stenberg

Follow up to 
2022-10-21 22:54:32 +02:00
Marc Hoersken
9f3d3bfb71
CI: report AppVeyor build status for each job
Also give each job on AppVeyor CI a human-readable name.

This aims to make job and therefore build failures more visible.

Reviewed-by: Marcel Raad
Closes 
2022-10-20 20:48:13 +02:00
Marc Hoersken
187f152a1d
CI/GHA: merge msh3 and openssl3 builds into linux workflow
Continue work on merging all Linux workflows into one file.

Follow up to 
Closes 
2022-10-07 21:47:51 +02:00
Daniel Stenberg
0a652280c9
GHA: build tests in a separate step from the running of them
... to make the output smaller for when you want to look at test
failures.

Removed the examples build from msh3

Closes 
2022-09-29 23:37:25 +02:00
Daniel Stenberg
72c41f7c8b
GHA: spellcheck
This spellchecker checks markdown files. For this reason this job
converts all man pages in the repository to markdown with pandoc before
the check runs.

The perl script 'cleanspell' filters out details from the man page in
the process, to avoid the spellchecker trying to spellcheck things it
can't. Like curl specific symbols and the SYNOPSIS and EXAMPLE sections
of libcurl man pages.

The spell checker does not check words in sections that are within pre,
strong and em tags.

'spellcheck.words' is a custom word list with additional accepted words.

Closes 
2022-09-21 15:20:07 +02:00
Marc Hoersken
4e6893307b
CI/GHA: cancel outdated CI runs on new PR changes
Avoid letting outdated CI runs continue if a PR receives
new changes. Outside a PR we let them continue running
by tying the concurrency to the commit hash instead.

Also only let one CodeQL or Hacktoberfest job run at a time.

Other CI platforms we use have this build in, but GitHub
unfortunately neither by default nor with a simple option.

This saves CI resources and therefore a little energy.

Approved-by: Daniel Stenberg
Approved-by: Max Dymond
Closes 
2022-09-19 21:21:04 +02:00
Daniel Stenberg
6e0dbe84e2
GHA: run proselint on markdown files
Co-authored-by: Marc Hörsken

Closes 
2022-09-19 17:32:04 +02:00
Marc Hoersken
e3a533f51b
CI/linkcheck: only run if a Markdown file is changed
This saves CI resources and therefore a little energy.

Reviewed-by: Max Dymond
Closes 
2022-09-18 08:53:34 +02:00
Marc Hoersken
db02e0e980
CI/GHA: merge intel CC and more TLS libs into linux workflow
Continue work on merging all Linux workflows into one file.

Reviewed-by: Max Dymond
Follow up to 
Closes 
2022-09-17 21:49:55 +02:00
Philip Heiduck
80a4a848df
CI: optimize some more dependencies install
Signed-off-by: Philip Heiduck <pheiduck@Philips-MBP.lan>

Closes 
2022-09-15 20:38:39 +02:00
Marc Hoersken
94445e7977
CI/GHA: merge event-based and NSS into new linux workflow
Continue work on merging all Linux workflows into one file.

Follow up to 
Closes 
2022-09-15 20:38:23 +02:00
Marc Hoersken
5142553c5a
CI/GHA: merge bearssl and hyper into initial linux workflow
Begin work on merging all Linux workflows into one file.

Closes 
2022-09-14 20:01:59 +02:00
Philip Heiduck
2ca0530a4d
CI: skip make, do make install at once for dependencies
Signed-off-by: Philip Heiduck <pheiduck@Philips-MBP.lan>

Closes 
2022-09-13 15:42:10 +02:00
a1346054
c3a6165307
scripts: use grep -E instead of egrep
egrep is deprecated

Closes 
2022-09-13 10:18:50 +02:00
Daniel Stenberg
9cc9a6472c
GHA: add a gcc-11 -O3 build using OpenSSL
Since -O3 might trigger other warnings

Closes 
2022-09-11 14:47:39 +02:00
Marc Hoersken
0af3edfef8
GHA: prepare workflow merge by aligning structure again
Closes 
2022-09-10 14:51:20 +02:00
Daniel Stenberg
b2d0a22ef9
GHA: add websockets to macos, openssl3 and hyper builds 2022-09-09 15:11:14 +02:00
Daniel Stenberg
313e606d99
gha: move over ngtcp2-gnutls CI job from zuul
Closes 
2022-08-27 14:43:26 +02:00
Daniel Stenberg
472369f589
GHA: mv CI torture test from Zuul
Closes 
2022-08-16 08:54:09 +02:00
Daniel Stenberg
2e67d451b1
ngtcp2-wolfssl.yml: add GHA to build ngtcp2 + wolfSSL
Closes 
2022-08-15 10:59:58 +02:00
Daniel Stenberg
c7febe520b
GHA: move libressl CI from zuul to GitHub
Closes 
2022-08-14 00:54:01 +02:00
Matthew Thompson
b35a49a549
GHA: add two Intel compiler CI jobs
Closes 
2022-07-23 00:47:22 +02:00
Emanuele Torre
79f915e8ec
ci: avoid cmake -Hpath
This is an undocumented option similar to the `-Spath' option introduced
in cmake 3.13.
Replace all instances of `-Hpath' with `-Spath' in macos workflow.
Replace `-H. -Bpath' with `mkdir path; cd ./path; cmake ..' in zuul
scripts since it runs an older version of cmake.

Fixes 
Closes 
2022-06-22 10:43:07 +02:00
Daniel Stenberg
805796ed0b
GHA: shorten the reuse CI job name
"REUSE compliance / check" should be good enough

Closes 
2022-06-13 10:09:15 +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 
2022-06-13 09:13:00 +02:00
Daniel Stenberg
07a400c8e0
CI: remove configure --enable-headers-api flags 2022-05-30 14:13:48 +02:00
Marc Hoersken
498ecdfd64
GHA: align all install, configure and build steps again
First step towards more unified build steps on GitHub Actions.

Closes 
2022-05-25 00:16:30 +02:00
Daniel Stenberg
e41a090b80
GHA/hyper: enable debug in the build 2022-05-23 16:47:22 +02:00
Frazer Smith
bda0d5fb84
ci: update github actions
- bump actions/checkout from 2 to 3
- bump actions/upload-artifact from 1 to 3
- bump github/codeql-actions from 1 to 2
- use version tag for actions/checkout

Closes 
2022-05-14 23:37:59 +02:00
Daniel Stenberg
d56270cb30
github/workflows/nss: apt update first
Fix "libnss3-dev_3.49.1-1ubuntu1.6_amd64.deb 404 Not Found"

Closes 
2022-05-12 23:30:47 +02:00
Daniel Stenberg
be7cccf18e
gha: build msh3
Closes 
2022-04-30 11:33:00 +02:00
Daniel Stenberg
fa40e15ae7
GHA/mbedtls: enabled nghttp2 in the build
Closes 
2022-04-28 17:12:35 +02:00
Daniel Gustafsson
93cfed2b73 misc: fix typos
Fix a few random typos is comments and workflow names.
2022-04-21 09:43:35 +02:00
Daniel Stenberg
c3b27c3141
.github/workflows/macos.yml: add a libssh job with c-ares
... to enable the memdebug system

Closes 
2022-04-19 16:31:00 +02:00
Daniel Stenberg
7e99db829c
GHA: move bearssl jobs over from zuul
Closes 
2022-04-07 08:36:38 +02:00
Daniel Stenberg
51d271213b
GHA: add openssl3 jobs moved over from zuul
Closes 
2022-04-07 08:35:10 +02:00
Philip H
8c3859b2a3
ci/event-based.yml: improve impacket install
skip python3-pip
install impacket with library module

Closes 
2022-03-22 16:38:47 +01:00
Daniel Stenberg
ea0ada834e
GHA: --enable-headers-api in all workflows 2022-03-22 08:24:26 +01:00
Daniel Stenberg
5bb4d3ec06
gha: move the event-based test over from Zuul
Switched libssh2 to libssh

Closes 
2022-03-21 17:39:49 +01:00
Philip H
22d33956ec
CI: Do not use buildconf. Instead, just use: autoreconf -fi
Closes 
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 
Supersedes 
Closes 
2022-03-06 21:22:58 +01:00
Daniel Stenberg
2207066446
GHA: build hyper with nightly rustc
Closes 
2022-03-05 23:47:18 +01:00
Daniel Stenberg
2bb5e1c3df
gha: add a macOS CI job with libssh
Closes 
2022-02-25 23:26:38 +01:00
Daniel Stenberg
3738de3bd1
configure: requires --with-nss-deprecated to build with NSS
Add deprecation plans to docs/DEPRECATE.md

Closes 
2022-02-09 16:33:26 +01:00
Sebastian Sterk
436398bef5
github/workflows/mbedtls: fix indent & remove unnecessary line breaks
Closes 
2022-02-07 23:13:57 +01:00
Daniel Stenberg
47fc8a4be6
CI: move the NSS job from zuul to GHA
Closes 
2022-02-07 22:53:23 +01:00
Harry Sarson
6c82e3f42d
CI: test building wolfssl with --enable-opensslextra
Closes 
2022-01-21 23:04:15 +01:00
pheiduck on githuh
f558534e22
workflows/wolfssl: install impacket
needed Python Package for SMB tests

Closes 
2022-01-20 11:22:52 +01:00
Daniel Stenberg
5bf1c4681a
GHA: install stunnel in the medbtls + wolfssl CI jobs
Closes 
2022-01-09 18:08:02 +01:00
Daniel Stenberg
70a1101e41
CI: move the rustls CI job to GHA from Zuul
Closes 
2022-01-09 16:07:48 +01:00
Daniel Stenberg
c07aca3baa
.github/workflows/mbedtls.yml: bump to mbedtls 3.1.0
Closes 
2022-01-03 09:13:50 +01:00
Daniel Stenberg
4f4cf0842e
github/workflows: add mbedtls and mbedtls-clang
Closes 
2022-01-03 09:13:34 +01:00
Daniel Stenberg
d82ad1f1ea
github workflow: add wolfssl
Closes 
2021-12-28 15:44:29 +01:00
Daniel Stenberg
ed0bc61e31
linkcheck.yml: add CI job that checks markdown links
Closes 
2021-12-17 09:17:09 +01:00
Daniel Stenberg
9108da2c26
cmake: private identifiers use CURL_ instead of CMAKE_ prefix
Since the 'CMAKE_' prefix is reserved for cmake's own private use.
Ref: https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html

Reported-by: Boris Rasin
Fixes 
Closes 
2021-11-23 08:46:41 +01:00
Kevin Burke
c844358299
.github: retry macos "brew install" command on failure
Previously we saw errors attempting to run "brew install", see
https://github.com/curl/curl/runs/4095721123?check_suite_focus=true for
an example, since this command is idempotent, it is safe to run again.

Closes 
2021-11-04 13:55:03 +01:00
Marc Hoersken
1db383dc86
github: fix incomplete permission to label PRs for Hacktoberfest
Unfortunately the GitHub API requires a token with write permission
for both issues and pull-requests to edit labels on even just PRs.

Follow up to 
2021-10-27 22:08:20 +02:00
Marc Hoersken
80450f85cc
github: fix missing permission to label PRs for Hacktoberfest
Follow up to 

Test references to see if permissions are now sufficient:

Closes 
Closes 
2021-10-27 12:40:15 +02: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 
Closes 
2021-10-27 12:33:18 +02:00
Marc Hoersken
f0ab8a631a
github: add support for Hacktoberfest using labels
Automatically add hacktoberfest-accepted label to PRs opened between
September 30th and November 1st once a commit with a close reference
to it is pushed onto the master branch.

With this workflow we can participate in Hacktoberfest while not
relying on GitHub to identify PRs as merged due to our rebasing.

Requires hacktoberfest-accepted labels to exist for PRs on the
participating repository. Also requires hacktoberfest topic on
the participating repository to avoid applying to forked repos.

Reviewed-by: Daniel Stenberg

Fixes 
Closes 
2021-10-27 12:26:31 +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 
Closes 
2021-10-08 20:16:15 +02:00
Jay Satiro
4729c25180 codeql: fix error "Resource not accessible by integration"
- Enable codeql writing security-events.

GitHub set the default permissions to read, apparently since earlier
this year.

Ref: https://github.com/github/codeql-action/issues/464
Ref: https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/

Fixes https://github.com/curl/curl/issues/7575
Closes https://github.com/curl/curl/pull/7576
2021-08-17 03:32:10 -04:00
Daniel Stenberg
5ae49f9534
GHA: run all tests for hyper too
As it lists disabled ones in DISABLED now

Closes 
2021-06-10 08:42:59 +02:00
Daniel Stenberg
3d01b75077
GHA: add several libcurl tests to the hyper job
500 to 512
2021-06-07 23:54:54 +02:00
Daniel Stenberg
33812ad33d
GHA: run the newly fixed tests with hyper
Closes 
2021-06-07 23:14:11 +02:00
Daniel Stenberg
b28a88951d
GHA: add a linux-hyper job
Closes 
2021-06-07 17:31:07 +02:00
Daniel Stenberg
265b14d6b3
metalink: remove
Warning: this will make existing curl command lines that use metalink to
stop working.

Reasons for removal:

1. We've found several security problems and issues involving the
   metalink support in curl. The issues are not detailed here. When
   working on those, it become apparent to the team that several of the
   problems are due to the system design, metalink library API and what
   the metalink RFC says. They are very hard to fix on the curl side
   only.

2. The metalink usage with curl was only very briefly documented and was
   not following the "normal" curl usage pattern in several ways, making
   it surprising and non-intuitive which could lead to further security
   issues.

3. The metalink library was last updated 6 years ago and wasn't so
   active the years before that either. An unmaintained library means
   there's a security problem waiting to happen. This is probably reason
   enough.

4. Metalink requires an XML parsing library, which is complex code (even
   the smaller alternatives) and to this day often gets security
   updates.

5. Metalink is not a widely used curl feature. In the 2020 curl user
   survey, only 1.4% of the responders said that they'd are using it. In
   2021 that number was 1.2%. Searching the web also show very few
   traces of it being used, even with other tools.

6. The torrent format and associated technology clearly won for
   downloading large files from multiple sources in parallel.

Cloes 
2021-06-07 08:14:25 +02:00
Daniel Stenberg
4b3d8f3558
github: remove the cmake macOS gcc-8 jobs
They're too similar to the gcc-9 ones to be useful (and seems to not
work anymore).

Closes 
2021-06-04 08:30:26 +02:00
Daniel Stenberg
f7d1273cf9
github: timeout jobs on macOS after 90 minutes
Assisted-by: Marc Hoersken
Closes 
2021-06-02 16:00:42 +02:00
Daniel Stenberg
e53a0f6833
github: inhibit deprecated declarations for clang on macOS
... as they otherwise cause ldap build errors in the CI.

Fixes 
Closes 
2021-05-17 22:45:46 +02:00
Daniel Stenberg
40ea52a241
github: add a workflow with libssh2 on macOS using cmake
Closes 
2021-05-16 23:21:12 +02:00
Daniel Stenberg
e052bbcd57
ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
Daniel Stenberg
7bdec2a08b
configure: provide --with-openssl, deprecate --with-ssl
Makes the option more explicit.

Closes 
2021-04-15 09:08:34 +02:00
Anthony Shaw
2908a8232c
github/workflow: add "security-extended" to codeql-analysis.yml
Extends the CodeQL code scan.

Closes 
2021-04-09 15:46:31 +02:00
Daniel Stenberg
6dc03053d1
github: add torture-ftp for FTP-only torture testing
and at 20% to try to keep the run-time reasonable

Closes 
2021-03-12 23:36:38 +01:00
XhmikosR
78617b48e4
CI: fix warning with the latest versions
`git checkout HEAD^2` is no longer needed

Closes 
2020-12-25 16:21:14 +01:00
Daniel Stenberg
d16fb4d056
Revert "CI/github: work-around for brew breakage on macOS"
This reverts commit 4cbb17a2cb.

... as the work-around now causes failures.

Closes 
2020-12-16 14:37:41 +01:00
Daniel Stenberg
4cbb17a2cb
CI/github: work-around for brew breakage on macOS
... and make it use OpenSSL 1.1 properly

Fixes 
Closes 
2020-10-26 22:14:53 +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 
2020-10-25 23:08:54 +01:00
Daniel Stenberg
2429f45a97
TLS naming: fix more Winssl and Darwinssl leftovers
The CMake option is now called CMAKE_USE_SCHANNEL

The winbuild flag is USE_SCHANNEL

The CI jobs and build scripts only use the new names and the new name
options

Tests now require 'Schannel' (when necessary)

Closes 
2020-08-08 00:19:21 +02:00
Marcel Raad
730dc48253
CI/macos: set minimum macOS version
This enables some deprecation warnings.
Previously, autotools defaulted to 10.8.

Closes https://github.com/curl/curl/pull/5723
2020-07-26 16:31:33 +02:00
Marcel Raad
05904db861
CI/macos: enable warnings as errors for CMake builds
Closes https://github.com/curl/curl/pull/5716
2020-07-25 08:51:11 +02:00
Marcel Raad
ff8b6ce05f
CI/macos: unconditionally enable warnings-as-errors with autotools
Previously, warnings were only visible in the output for most jobs.

Closes https://github.com/curl/curl/pull/5694
2020-07-19 10:35:19 +02:00
Marc Hoersken
a88fe0fd14
workflows: limit what branches to run CodeQL on
Align CodeQL action with existing CI actions:
- Update branch filter to avoid duplicate CI runs.
- Shorten workflow name due to informative job name.

Reviewed-by: Daniel Stenberg

Closes 
2020-07-13 21:01:03 +02:00