Commit Graph

135 Commits

Author SHA1 Message Date
Daniel Stenberg
901392cbb7
urlapi: add CURLU_PUNYCODE
Allows curl_url_get() get the punycode version of host names for the
host name and URL parts.

Extend test 1560 to verify.

Closes #10109
2022-12-26 23:29:23 +01:00
Nick Banks
72b819f147
msh3: update to v0.5 Release
Closes #10125
2022-12-22 14:29:40 +01:00
andy5995
3736c0a209
workflows/linux.yml: merge 3 common packages
Closes #10071
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 #9928
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 #9031
2022-11-30 13:56:06 +01:00
Philip H
4c61a8e8f4
GHA: NSS use clang instead of clang-9
Closes #9978
2022-11-25 08:59:22 +01:00
Viktor Szakats
a8861b6ccd
Makefile.mk: portable Makefile.m32
Update bare GNU Make `Makefile.m32` to:

- Move objects into a subdirectory.
- Add support for MS-DOS. Tested with DJGPP.
- Add support for Watt-32 (on MS-DOS).
- Add support for AmigaOS.
- Rename `Makefile.m32` to `Makefile.mk`
- Replace `ARCH` with `TRIPLET`.
- Build `tool_hugehelp.c` proper (when tools are available).
- Drop MS-DOS compatibility macro `USE_ZLIB` (replaced by `HAVE_LIBZ`)
- Add support for `ZLIB_LIBS` to override `-lz`.
- Omit object files when building examples.
- Default `CC` to `gcc` once again, for convenience. (Caveat: compiler
  name `cc` cannot be set now.)
- Set `-DCURL_NO_OLDIES` for examples, like autotools does.
- Delete `makefile.dj` files. Notice the configuration details and
  defaults are not retained with the new method.
- Delete `makefile.amiga` files. A successful build needs a few custom
  options. We're also not retaining all build details from the existing
  Amiga make files.
- Rename `Makefile.m32` to `Makefile.mk` to reflect that they are not
  Windows/MinGW32-specific anymore.
- Add support for new `CFG` options: `-map`, `-debug`, `-trackmem`
- Set `-DNDEBUG` by default.
- Allow using `-DOS=...` in all `lib/config-*.h` headers, syncing this
  with `config-win32.h`.
- Look for zlib parts in `ZLIB_PATH/include` and `ZLIB_PATH/lib`
  instead of bare `ZLIB_PATH`.

Note that existing build configurations for MS-DOS and AmigaOS likely
become incompatible with this change.

Example AmigaOS configuration:
```
export CROSSPREFIX=/opt/amiga/bin/m68k-amigaos-
export CC=gcc
export CPPFLAGS='-DHAVE_PROTO_BSDSOCKET_H'
export CFLAGS='-mcrt=clib2'
export LDFLAGS="${CFLAGS}"
export LIBS='-lnet -lm'
make -C lib -f Makefile.mk
make -C src -f Makefile.mk
```

Example MS-DOS configuration:
```
export CROSSPREFIX=/opt/djgpp/bin/i586-pc-msdosdjgpp-
export WATT_PATH=/opt/djgpp/net/watt
export ZLIB_PATH=/opt/djgpp
export OPENSSL_PATH=/opt/djgpp
export OPENSSL_LIBS='-lssl -lcrypt'
export CFG=-zlib-ssl
make -C lib -f Makefile.mk
make -C src -f Makefile.mk
```

Closes #9764
2022-11-22 08:28:41 +00:00
Alexandre Ferrieux
49798cac83
CURLOPT_QUICK_EXIT: don't wait for DNS thread on exit
Fixes #2975
Closes #9147
2022-11-18 00:17:27 +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
Daniel Stenberg
d4fed2a13a
docs: explain the noproxy CIDR notation support
Follow-up to 1e9a538e05

Closes #9818
2022-10-28 09:02:22 +02:00
Daniel Stenberg
19bfaca7cc
spellcheck.words: remove 'github' as an accepted word
Prefer the properly cased version: GitHub

Use markdown for links and GitHub in text.

Closes #9810
2022-10-27 15:53:11 +02: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 #9785
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 #9769
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 #9769
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 #9501
Closes #9646
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 #9619
2022-09-29 23:37:25 +02:00
Viktor Szakats
7313ffebfe
docs: spelling nits
- MingW -> MinGW (Minimalist GNU for Windows)
- f.e. -> e.g.
- some whitespace and punctuation.

Reviewed-by: Daniel Stenberg

Closes #9622
2022-09-29 21:29:04 +00: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 #9523
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 #9533
2022-09-19 21:21:04 +02:00
Daniel Stenberg
6e0dbe84e2
GHA: run proselint on markdown files
Co-authored-by: Marc Hörsken

Closes #9520
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 #9531
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 #9501
Closes #9514
2022-09-17 21:49:55 +02:00
Marc Hoersken
c04c78ac87
github: initial CODEOWNERS setup for CI configuration
Reviewed-by: Daniel Stenberg
Reviewed-by: Marcel Raad
Reviewed-by: Max Dymond

Closes #9505

[skip ci]
2022-09-15 22:40:40 +02:00
Philip Heiduck
80a4a848df
CI: optimize some more dependencies install
Signed-off-by: Philip Heiduck <pheiduck@Philips-MBP.lan>

Closes #9500
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 #9501
Closes #9506
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 #9501
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 #9477
2022-09-13 15:42:10 +02:00
a1346054
c3a6165307
scripts: use grep -E instead of egrep
egrep is deprecated

Closes #9491
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 #9454
2022-09-11 14:47:39 +02:00
Marc Hoersken
0af3edfef8
GHA: prepare workflow merge by aligning structure again
Closes #9413
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 #9331
2022-08-27 14:43:26 +02:00
Daniel Stenberg
472369f589
GHA: mv CI torture test from Zuul
Closes #9310
2022-08-16 08:54:09 +02:00
Daniel Stenberg
2e67d451b1
ngtcp2-wolfssl.yml: add GHA to build ngtcp2 + wolfSSL
Closes #9318
2022-08-15 10:59:58 +02:00
Daniel Stenberg
c7febe520b
GHA: move libressl CI from zuul to GitHub
Closes #9309
2022-08-14 00:54:01 +02:00
Matthew Thompson
b35a49a549
GHA: add two Intel compiler CI jobs
Closes #9179
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 #9008
Closes #9014
2022-06-22 10:43:07 +02:00
Daniel Stenberg
448f7ef9ab
bug_report.md: revert the REUSE template to see if it works again 2022-06-13 23:41:07 +02:00
Daniel Stenberg
805796ed0b
GHA: shorten the reuse CI job name
"REUSE compliance / check" should be good enough

Closes #9000
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 #8869
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 #8873
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 #8843
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 #8837
2022-05-12 23:30:47 +02:00
Daniel Stenberg
be7cccf18e
gha: build msh3
Closes #8779
2022-04-30 11:33:00 +02:00