Commit Graph

149 Commits

Author SHA1 Message Date
Ilya Shipitsin
5526f922af CI: add monthly gcc cross compile jobs
Build only gcc cross compile jobs are added with monthly run to catch
rare errors, mostly 32bit <--> 64bit
2022-10-30 17:17:43 +01:00
William Lallemand
6435801d09 CI: github: dump the backtrace of coredumps in the alpine container
This patch allows to show the backtrace of a coredump produced in the
alpine/musl jobs.

It activates some option required by the containers to allow the
production of coredump, set a shared directory so the kernel could dump
the coredump within the container. Some debug packages were also added.
2022-10-21 09:21:33 +02:00
Tim Duesterhus
b87ecbb179 CI: Replace the deprecated ::set-output command by writing to $GITHUB_OUTPUT in workflow definition
See "CI: Replace the deprecated `::set-output` command by writing to
$GITHUB_OUTPUT in matrix.py" for the reasoning behind this commit.
2022-10-14 19:50:34 +02:00
Tim Duesterhus
8a03bf4052 CI: Replace the deprecated ::set-output command by writing to $GITHUB_OUTPUT in matrix.py
As announced in

https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

the `::set-output` command is deprecated, because processes during the workflow
execution might output untrusted information that might include the
`::set-output` command, thus allowing these untrusted information to hijack the
build.

The replacement is writing to the file indicated by the `$GITHUB_OUTPUT`
environment variable.
2022-10-14 19:50:34 +02:00
Ilya Shipitsin
b65fd66666 CI: SSL: temporarily stick to LibreSSL=3.5.3
recently released 3.6.0 introduced some regression which must be
resolved first, let us use 3.5.3 notation instead of "latest"
2022-10-13 08:53:27 +02:00
Ilya Shipitsin
14711bdc9a CI: SSL: use proper version generating when "latest" semantic is used
both "OPENSSL_VERSION=latest" and "LIBRESSL_VERSION=latest" processing
introduced errors when build-ssl.sh script was invoked. that error
in turn led to skipping custom openssl build and haproxy was linked against
stock openssl, i.e. openssl-1.1.1
2022-10-13 08:53:11 +02:00
Ilya Shipitsin
4c785f0a1f CI: enable weekly "m32" builds on x86_64
this is build only workflow, catches potential "size_t" mismatches
--
v2 job name added, various markup changes
2022-08-06 17:10:16 +02:00
Ilya Shipitsin
cfba1f93af CI: re-enable gcc asan builds
for some unclear reasons asan builds were limited to clang only. let us
enable them for gcc as well
2022-07-04 17:28:58 +02:00
Ilya Shipitsin
7b893c2c6b CI: determine actual OpenSSL version dynamically
this change introduce "OPENSSL_VERSION=latest" semantic, which scans
https://api.github.com/repos/openssl/openssl/tags and detects latest release.
2022-05-20 23:26:48 +02:00
Ilya Shipitsin
94cd779a4f CI: determine actual LibreSSL version dynamically
this change introduce "LIBRESSL_VERSION=latest" semantic, which scans
http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ and detects latest release.

LIBRESSL_VERSION=2.9.2 is removed from the matrix.
2022-05-14 17:30:15 +02:00
Ilya Shipitsin
0a802114e0 CI: dynamically determine actual version of h2spec
previously we used hardcoded h2spec version. let us switch to
the latest available
2022-05-08 11:01:58 +02:00
Ilya Shipitsin
c89dec3dc8 CI: github actions: update LibreSSL to 3.5.2
LibreSSL-3.5.2 was released on Apr 23nd 2022, let us switch to it
2022-04-30 14:12:51 +02:00
William Lallemand
c24ac4339c CI: github actions: disable -Wno-deprecated
The deprecrated code is now disabled by default, so we can build with
quictls and openssl 3.0 without this option.
2022-04-11 19:05:03 +02:00
Tim Duesterhus
538d8fe8b7 CI: Update to actions/cache@v3
No functional changes for our use case, but we should keep this current.
2022-04-11 07:13:24 +02:00
Tim Duesterhus
5f4ddb54b0 CI: Update to actions/checkout@v3
No functional change, but we should keep this current.
2022-04-11 07:13:24 +02:00
Ilya Shipitsin
6e7440b918 CI: github actions: update OpenSSL to 3.0.2 2022-03-31 17:00:22 +02:00
Ilya Shipitsin
2ec39ea653 CI: github actions: switch to LibreSSL-3.5.1 2022-03-18 13:48:42 +01:00
Willy Tarreau
d8ac3f5dbf CI: coverity: simplify debugging options
We used to rely on a call to "sed" to modify the DEBUG option in the
makefile when running under Coverity because it splits words around
spaces and does not allow to pass multi-word build options. As reported
by Tim in issue #1592, this broke with commit 8de7f2822 ("BUILD: makefile:
enable both DEBUG_STRICT and DEBUG_MEMORY_POOLS by default") when the
default DEBUG options changed.

Let's change this to pass all DEBUG options one at a time instead and
get rid of this sed.
2022-03-04 14:33:55 +01:00
Willy Tarreau
a0a6911bde CI: github: enable pool debugging by default
This enables DEBUG_MEMORY_POOLS and DEBUG_POOL_INTEGRITY so that by
default the tests run under stricter checks, which are likely to
catch more bugs. Note that these ones are permanently used in prod
on haproxy.org.
2022-02-23 18:14:49 +01:00
Ilya Shipitsin
6fed59c7c1 CI: enable QUIC for Coverity scan 2022-02-12 08:06:34 +01:00
Tim Duesterhus
f42ddf73fc CI: Consistently use actions/checkout@v2
v2 is the current version of the checkout action and faster than v1.
2022-01-29 15:24:06 +01:00
Ilya Shipitsin
27df87cc63 CI: github actions: use cache for SSL libs
we have two kinds of SSL libs built - git based and version based.
this commit introduces caching for version based SSL libs.
2022-01-25 12:02:08 +01:00
Ilya Shipitsin
e9efc3a5be CI: refactor OpenTracing build script
re-use scripts/build-ot.sh in CI again. Bump opentracing-cpp to 1.6.0
2022-01-19 07:37:40 +01:00
Ilya Shipitsin
b9e3fb7315 CI: github actions: use cache for OpenTracing
this caches OpenTracing libs between builds, should save couple of minutes
for each build.
2022-01-13 13:37:34 +01:00
Ilya Shipitsin
65eab587a2 CI: github actions: clean default step conditions
step condition "if: ${{ !failure() }}" was added in 2ef4c7c84363f5a9b80a2093df1370514319db28
during my experiments. As Tim Dsterhus mentioned, that condition is default and may be omitted.
2022-01-11 15:00:55 +01:00
Ilya Shipitsin
6569de2b88 CI: refactor spelling check
let us switch to codespell github actions instead of invocation from cmdline.
also, "ifset,thrid,strack,ba,chck,hel,unx,mor" added to whitelist, those are
variable names and special terms widely used in HAProxy
2022-01-07 14:42:33 +01:00
Ilya Shipitsin
874c907a2e CI: github actions: update OpenSSL to 3.0.1
OpenSSL-3.0.1 was released on 14 Dec 2021, let's switch to it
2022-01-03 14:42:12 +01:00
Ilya Shipitsin
2ef4c7c843 CI: Github Actions: do not show VTest failures if build failed
this is mostly cleanup, issue is minor. If build failed, VTest execution
tried to be performed as well as VTest result show. This change ignores
those steps if build failed.
2021-12-25 15:09:06 +01:00
Willy Tarreau
4673c5e2c8 CI: github actions: add the output of $CC -dM -E-
Sometimes figuring what differs between platforms is useful to fix
build issues, to decide what ifdef to add for example. Let's always
call $CC -dM -E- before starting make.
2021-11-26 17:58:42 +01:00
Ilya Shipitsin
d69d65a563 BUILD: SSL: add QUICTLS to build matrix
It also enables QUIC when QUICTLS is used.
2021-11-20 08:18:00 +01:00
Tim Duesterhus
662896e68e CI: Clean up formatting in GitHub Action definitions
This patch cleans up the formatting within the .yml definition files for GitHub
Actions to ensure a consistent look across all actions.
2021-10-18 07:17:04 +02:00
Tim Duesterhus
89c9d0a169 CI: Add permissions to GitHub Actions
This change locks down the permissions of the access token in GitHub Actions to
only allow reading the repository contents and nothing else.

see https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token
2021-10-18 07:17:04 +02:00
William Lallemand
bc2b96c2de CI: github: switch to OpenSSL 3.0.0
Switch the OpenSSL 3.0.0alpha17 version to the final 3.0.0 release.

Part of OpenSSL 3.0.0 portage. (ticket #1276)
2021-10-13 10:21:22 +02:00
Willy Tarreau
ed17ca7006 CI: Github Actions: re-enable Opentracing
Miroslav already fixed the build of OpenTracing so we can re-enable it
in the CI. For now variables are disabled but this will change soon.
2021-09-12 07:08:14 +02:00
Willy Tarreau
f14edc8212 CI: Github Actions: temporarily disable Opentracing
As discussed in the thread below, the recent variables changes
unfortunately broke Opentracing. Discussions are ongoing about
possible solutions but none of them can be done in a 3-liner so
we'd rather disable opentracing from the full-features build for
the time being.

Link: https://www.mail-archive.com/haproxy@formilux.org/msg41131.html
2021-09-09 14:45:05 +02:00
Willy Tarreau
30ee2965b6 CI: Github Actions: temporarily disable BoringSSL builds
A recent update to BoringSSL broke the build again, and given that
it's not used except for QUIC development, let's temporarily disable
it until the issue is analysed and fixed.
2021-09-02 17:32:43 +02:00
Marcin Deranek
310a260e4a MEDIUM: config: Deprecate tune.ssl.capture-cipherlist-size
Deprecate tune.ssl.capture-cipherlist-size in favor of
tune.ssl.capture-buffer-size which better describes the purpose of the
setting.
2021-08-26 19:52:04 +02:00
Willy Tarreau
cc0f501bfc CI: github-actions: remove obsolete options
2.5-dev1 removed http-use-htx but the h2spec config was not updated
accordingly, causing failures. In addition, let's also remove the
unneeded "nbthread 4" which is either too much or not enough (it's
automatic nowadays), and remove "option httplog" which causes a
warning since there's no defined log destination.
2021-08-25 05:10:29 +02:00
Ilya Shipitsin
af2720f69f CI: github actions: relax OpenSSL-3.0.0 version comparision
we better to check for 3.0.0 presense, than exact version
2021-08-16 12:48:49 +02:00
Tim Duesterhus
762b1fdb7a CI: Remove obsolete USE_SLZ=1 CI job
Using SLZ is a default, thus this build is equivalent to the "no features"
build.
2021-08-16 12:37:16 +02:00
Tim Dsterhus
bbab3bf22b DOC: Replace issue templates by issue forms
GitHub's issue forms are the next evolution of issue templates and allow for
showing an actual form with separate inputs when creating an issue. They ensure
that all the required fields are filled in and automatically format code parts
(e.g. haproxy -vv or the configuration) as actual code blocks, possibly with
syntax highlighting.

Co-authored-by: Maximilian Mader <max@bastelstu.be>
2021-06-24 04:15:04 +02:00
Tim Duesterhus
8a91fa4219 CI: Replace the requirement for 'sudo' with a call to 'ulimit -n'
Using 'sudo' required quite a few workarounds in various places. Setting an
explicit 'ulimit -n' removes the requirement for 'sudo', resulting in a cleaner
workflow configuration.
2021-06-17 14:57:43 +02:00
Ilya Shipitsin
b89c0e4635 CI: github actions: enable alpine/musl builds
on push builds are added. based on cirrus-ci patch sent by William Lallemand
2021-06-12 18:23:22 +02:00
Tim Duesterhus
871ef2ffbc CI: Make matrix.py executable and add shebang
It's a script, allow executing this as a script without needing to invoke
`python3` manually.
2021-06-08 21:30:36 +02:00
William Lallemand
64d6c09e54 CI: github actions: -Wno-deprecated-declarations with OpenSSL 3.0.0
Disable the deprecated functions warning when building with openssl
3.0.0 alpha. This will need to be reverted once haproxy is ported to the
new API.
2021-06-07 15:34:07 +02:00
Ilya Shipitsin
c3f28a38d2 CI: github actions: add OpenSSL-3.0.0 builds
OpenSSL-3.0.0 is getting close to its release, let us add it to build matrix
2021-06-07 15:27:35 +02:00
Ilya Shipitsin
75c95aa649 CI: github actions: add OpenTracing builds
let us add OpenTracing module to "all features" builds
2021-05-18 18:37:37 +02:00
Ilya Shipitsin
0b03895620 CI: introduce scripts/build-vtest.sh for installing VTest
we install VTest for all CI systems, let us unify instalation
2021-05-18 10:48:30 +02:00
Tim Duesterhus
b38b5c3d0d Revert "CI: Build VTest with clang"
The issue with VTest not building properly in gcc is fixed since commit
vtest/VTest@0730540c43. Revert the patch to keep
the CI configuration simple.

This reverts commit e61f53eb44.
2021-05-12 21:28:08 +02:00
Ilya Shipitsin
9c0fcea898 CI: extend spellchecker whitelist, add "ists" as well
codespell does not handle plurals, we already whitelusted "ist", let us
whitelist "ists" as well
2021-05-10 23:04:55 +02:00
Tim Duesterhus
e61f53eb44 CI: Build VTest with clang
Current VTest master fails to build using gcc, see vtest/VTest#27.

This patch is to be reverted once VTest is fixed.
2021-05-10 23:00:59 +02:00
Ilya Shipitsin
714f28ceef CI: Github Actions: enable USE_QUIC=1 for BoringSSL builds
if haproxy is built against BoringSSL, let us add USE_QUIC=1 dynamically
2021-05-10 07:24:55 +02:00
Ilya Shipitsin
04b57a7d1b CI: Github Actions: switch to LibreSSL-3.3.3
stable LibreSSL-3.3.3 released, let us switch to it
2021-05-05 11:29:05 +02:00
Willy Tarreau
aca389a483 CI: github: do not build libslz any more
As hinted by Tim, it's not needed any more since it's now integrated,
let's get rid of this step.
2021-04-22 16:10:32 +02:00
Willy Tarreau
57610c694e CONTRIB: move src/wurfl.c and contrib/wurfl to addons/wurfl
Both the source file and the dummy library are now at the same place.
Maybe the build howto could be moved there as well to make things even
cleaner.

The Makefile, MAINTAINERS, doc, and vtest matrix were updated.
2021-04-02 17:48:42 +02:00
Willy Tarreau
f8d9ec57f0 CONTRIB: move src/da.c and contrib/deviceatlas to addons/deviceatlas
Both the source file and the dummy library are now at the same place.
Maybe the build howto could be moved there as well to make things even
cleaner.

The Makefile, MAINTAINERS, doc, github build matrix, coverity checks
and travis CI's build were updated.
2021-04-02 17:48:42 +02:00
Willy Tarreau
977209d1d8 CONTRIB: move 51Degrees to addons/51degrees
Now it's much cleaner, both 51d.c and the dummy library live together and
are easier to spot and maintain. The build howto probably ought to be moved
there as well. Makefile, docs and MAINTAINERS were updated, as well as
the github CI's build matrix, travis CI's, and coverity checks.
2021-04-02 17:48:42 +02:00
Willy Tarreau
3dfadc7ae7 CONTRIB: move prometheus-exporter to addons/promex
Let's start to better organize the addons by moving promex there (and
with an easier directory name). The makefile and maintainers files were
updated, as well as the CI's build matrix.
2021-04-02 17:48:42 +02:00
Willy Tarreau
d798889a5d CONTRIB: move halog to admin/
halog is an admin tool, so let's move it to admin/ as well. The makefile
was updated to build from the new directory.
2021-04-02 17:48:42 +02:00
Willy Tarreau
21ef8b9064 BUILD: makefile: integrate the hpack tools
The few hpack development tools are now integrated into the main
makefile, which allows to remove the original one which was causing
lots of build warnings. A README was added to explain how to build
instead.
2021-04-02 17:48:42 +02:00
Willy Tarreau
074ebcde29 CONTRIB: move some dev-specific tools to dev/
The following directories were moved from contrib/ to dev/ to make their
use case a bit clearer. In short, only developers are expected to ever
go there. The makefile was updated to build and clean from these ones.

base64/  flags/  hpack/  plug_qdisc/  poll/  tcploop/  trace/
2021-04-02 17:48:42 +02:00
Willy Tarreau
34b4369709 CONTRIB: debug: split poll from flags
Now poll is its own project and doesn't share the "flags" Makefile
any more. One of the issues was that it was making references to the
haproxy include path which is not needed here.
2021-04-02 17:48:42 +02:00
Ilya Shipitsin
d21f4e1e71 CI: github actions: update LibreSSL to 3.2.5
LibreSSL-3.2.5 is released, let us update to it
2021-03-20 09:32:52 +01:00
Ilya Shipitsin
88288e47ca CI: codespell: whitelist "Dragan Dosen"
let us tell codespell that "Dosen" is legitimate spelling
2021-03-20 09:28:53 +01:00
Tim Duesterhus
2ca0bbc7d8 Revert "CI: Pin VTest to a known good commit"
The issue with VTest now is fixed in VTest master since commit
vtest/VTest@040bb6737a.

This reverts commit 24105300b8.
2021-03-03 05:07:10 +01:00
Ilya Shipitsin
0879c22723 CI: codespell: skip Makefile for spell check
checking Makefile is noisy, we do not benefit from it
2021-02-27 09:01:36 +01:00
Ilya Shipitsin
938e85b228 CI: github actions: switch to stable LibreSSL release
LibreSSL-3.3.0 appeared to have its own bugs, it is development release,
let us switch to stable LibreSSL-3.2.4 instead
2021-02-19 18:08:06 +01:00
Tim Duesterhus
66d28e7045 CI: Fix the coverity builds
In an attempt to fix the use of DEBUG_STRICT commit
7f0f4786d1927f1450392e871480e3122796024e unfortunately broke the Coverity
builds completely.

It turns out that Coverity does not properly handle quoting within
`COVERITY_SCAN_BUILD_COMMAND`, instead breaking up single arguments at
whitespace, thus passing `-DDEBUG_USE_ABORT=1` to `make` as-is.

Fix this issue by hijacking the Makefile within the Coverity workflow. We
simply replace the default value of the `DEBUG` option with whatever values we
need. The build command now only includes the TARGET and USE_* flags, each of
which works without any spaces.
2021-01-28 20:40:14 +01:00
Tim Duesterhus
7f0f4786d1 CI: Fix DEBUG_STRICT definition for Coverity
The DEBUG_STRICT define needs to be passed as part of `DEBUG`, not as a bare
parameter.
2021-01-27 12:45:07 +01:00
Tim Duesterhus
24105300b8 CI: Pin VTest to a known good commit
As of January, 11th the macOS builds fail due to regression introduced in
VTest. This patch pins VTest to the newest good commit.

This patch should be reverted once VTest's 'master' is stable again.

see vtest/VTest#26
2021-01-20 19:23:57 +01:00
Thayne McCombs
ffa21224c0 CI: github: add a few more words to the codespell ignore list
This adds "referer,ot,uint,iif,fo,keep-alives" to the ignore list:
  - "referer" is the well-known HTTP header field name (with its
    spelling error)
  - "ot" appears a lot in the opentracing contrib.
  - "iff" often stands for "if and only if"
  - "fo" appears as a test string in tests/ist.c (could possibly be
     changed)
  - "keep-alives" appears as a noon in "...enable TCP keep-alives".
2021-01-08 15:03:13 +01:00
Ilya Shipitsin
ce94a948fb CI: github actions: build several popular "contrib" tools
this adds "halog", "flags" and "poll" builds. builds are done in
separate steps for better failure identification
2021-01-05 17:44:00 +01:00
Ilya Shipitsin
64b6f36788 CI: GitHub Actions: enable daily Coverity scan
That scan was previously implemented on Travis. Let us migrate
it to GitHub Actions.

Co-authored-by: Tim Duesterhus <tim@bastelstu.be>
2020-12-28 12:02:09 +01:00
Ilya Shipitsin
5a6347fe3f CI: codespell: whitelist "te" and "nd" words
te is widely used abbrevation for "transfer encoding"
nd is variable name "name description"

we need to teach codespell those are legitimate
2020-12-21 11:54:06 +01:00
Ilya Shipitsin
b34aee8294 CI: github actions: enable 51degrees feature 2020-11-26 19:08:15 +01:00
Ilya Shipitsin
f500359708 CI: github actions: update LibreSSL to 3.3.0 2020-11-26 19:08:02 +01:00
Tim Duesterhus
9fee7e02d1 CI: Set DEBUG=-DDEBUG_STRICT=1 in GitHub Actions
This was missing when migrating from Travis.
2020-11-21 18:27:33 +01:00
Tim Duesterhus
ed54c3baa5 CI: Clean up Windows CI
This patch cleans up the Windows CI to look more similar to the refactored
Linux CI on GitHub Actions.

It switches the environment set-up from some manual cygwin setup via choco to
the msys2/setup-msys2@v2 action which just works and allows later steps to look
like any others without need to manually specify the shell.

This new setup is much faster than before where a single Windows build required
more than 10 minutes with more than 5 minutes just spent setting up the
environment and more than 6 minutes compiling HAProxy.

With this patch the setting of of the environment is done in less than a minute
and HAProxy is compiled in less than 2 minutes.

The only drawback is that Lua does not appear to be readily available. I expect
this to be acceptable and that the benefits far outweight this small drawback.
2020-11-21 11:05:16 +01:00
Tim Duesterhus
8d173e17c0 CI: Pass the github.event_name to matrix.py
This is a preparation to later run some matrix entries on schedule only.

Within the matrix.py script it can now be detected whether the workflow is
running on schedule by using:

    if build_type == "schedule":
        matrix.append(...)
2020-11-21 11:05:16 +01:00
Ilya Shipitsin
e48853aaf4 CI: Github Action: run "apt-get update" before packages restore
ubuntu somehow needs it, no idea why does not apt-get do it itself.
2020-11-21 10:44:16 +01:00
Ilya Shipitsin
f644c5a95f CI: Github Actions: enable BoringSSL builds 2020-11-21 05:40:27 +01:00
Ilya Shipitsin
cf67a12598 CI: Github Actions: remove LibreSSL-3.0.2 builds 2020-11-21 05:40:27 +01:00
Ilya Shipitsin
69c10f1d50 CI: Github Actions: enable prometheus exporter 2020-11-21 05:40:27 +01:00
Tim Duesterhus
cdaa38ea6e CI: Make the h2spec workflow more consistent with the VTest workflow
This PR aims to make the workflow more consistent, by reusing the same wording
for the step names and the same commands to make it look like the vtest
workflow as much as possible.

It was renamed to compliance.yml to match the human readable name better. This
also allows to extend the workflow with other compliance tools later on, nicely
grouping those jobs together in a single file.

No functional changes have been made.
2020-11-17 11:55:48 +01:00
Tim Duesterhus
fa1747dc7d CI: Stop hijacking the hosts file
vtest/VTest#24 is merged now. This step is no longer required.
2020-11-17 11:55:07 +01:00
Tim Duesterhus
288c0772e6 CI: Expand use of GitHub Actions for CI
Travis is becoming overall increasingly unreliable lately. We've already
seen that the timing sensitive tests regularly fail and thus they were
disabled.

Additionally they recently announced a new pricing model that caps the number
of minutes for Open Source projects:
https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing

GitHub Actions VMs are working well, possibly allowing to use custom runners
for special tasks in the future.

In addition to this better performance its workflow configuration language
is more expressive compared to the Travis CI one. Specifically the build
matrix does not need to be specified in YAML. Instead it can be generated
ad-hoc using a script. This allows us to cleanly define the various build
configurations without having an unreadable 80 line mess where the flags
are inconsistently activated. As an example in the current Travis CI
configuration the prometheus exporter is tested together with LibreSSL 2.9.2
for whatever reason.

In addition to all the previous points the UI of Travis is not that nice.
On GitHub you are just seeing that "Travis failed" without any details which
exact job failed. This requires you to visit the slow Travis page and look
up the details there. GitHub Actions creates a single entry for each
configuration that is tested, allowing you to see the details without needing
to leave GitHub.

This new GitHub Actions workflow aims to reproduce the configurations tested
in Travis. It comes close, but is not completely there, yet. Consider this
patch a proof of concept that will evolve in the future, ideally with Ilya's
expertise.

The current configurations are as follows. Each one is tested with both gcc
and clang.
- All features disabled (no USE flags)
- All features enabled (all USE flags)
- Standalone test of each of the supported compression libraries:
  - USE_ZLIB=1
  - USE_SLZ=1
- Standalone test of various SSL libraries:
  - stock (the SSL installed by default on the VM)
  - OpenSSL 1.0.2u
  - LibreSSL 2.9.2, 3.0.2, 3.1.1
- All features enabled with ASAN (clang only)

Future additions of new tests should take care to not test unrelated stuff.
Instead a distinct configuration should be added.

Additionally there is a Mac OS test with clang and all features disabled.

Known issues:
- Apparently the git commit is not properly detected during build. The HEAD
  currently shows as 2.4-dev0.
2020-11-10 10:15:17 +01:00
Ilya Shipitsin
f9bc6e4968 CI: github actions: limit OpenSSL no-deprecated builds to "default,bug,devel" reg-tests 2020-11-04 16:14:09 +01:00
Ilya Shipitsin
787c63c816 CI: github actions: update h2spec to 2.6.0 2020-10-27 13:13:23 +01:00
Lukas Tribus
8564f53812 DOC: overhauling github issue templates
as per the suggestions from Cyril and Willy on the mailing list:

Message-ID: <a0010c72-70b8-0647-c269-55c6614627c3@free.fr>

and with direct contributions from Tim, this changes large parts
of the bug issue template.

The Feature template is also updated as well as a new template for
Code Reports is introduced.

Co-authored-by: Tim Duesterhus <tim@bastelstu.be>
2020-08-17 20:29:27 +02:00
Ilya Shipitsin
dafc56413c CI: extend spellchecker whitelist
let us ignore *.pem files
2020-06-26 11:26:52 +02:00
Ilya Shipitsin
4289f7525a CI: extend spellchecker whitelist
let us ignore *.fig files as well as "que" and "ans" words
2020-05-11 10:10:26 +02:00
Ilya Shipitsin
82e01b9437 CI: run weekly OpenSSL "no-deprecated" builds
OpenWRT uses such OpenSSL builds (those builds are smaller)

some details might be found at ML: https://www.mail-archive.com/haproxy@formilux.org/msg35759.html
                               GH: https://github.com/haproxy/haproxy/issues/367
2020-04-21 10:27:41 +02:00
Ilya Shipitsin
3e128fe973 CI: github actions: add weekly h2spec test
ML link: https://www.mail-archive.com/haproxy@formilux.org/msg36753.html

this commit adds scheduled run of h2spec tool to test http2 and HPACK
compliance.

h2spec might be found at: https://github.com/summerwind/h2spec
2020-03-24 21:04:25 +01:00
Ilya Shipitsin
a21e62d2bc CI: add spellcheck github action
action is self consistent. it is scheduled to run weekly
2020-03-14 09:44:21 +01:00
Ilya Shipitsin
6328b73d28 BUILD: enable ERR=1 in github cygwin builds 2020-02-15 16:32:38 +01:00
Ilya Shipitsin
8aad9465f9 BUILD: CI: move cygwin builds to Github Actions
builds on travis-ci fail because of
https://travis-ci.community/t/cygwin-issue-cygheap-base-mismatch-detected/5359
unfortunately, documentation does not help.

so, let us move builds to Github Actions.

also, remove deprecated "sudo" directive from .travis.yml
2020-01-22 22:51:30 +01:00
Tim Duesterhus
0a2a918234 DOC: Add GitHub issue config.yml
This allows us to link to the mailing list and forum within the
issue tracker, hopefully discouraging users to ask questions even more.

see https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
2019-11-03 15:36:06 +01:00
Tim Duesterhus
214758211e DOC: Add 'Question.md' issue template, discouraging asking questions
This commit adds a new `Question.md` issue template that aims to prevent
users asking questions within the issue tracker, because the other two
templates do not fit "question", thus leading to people not seeing that
the issue tracker is not for questions.

This template inspired by TypeScript's Question template at:
https://github.com/microsoft/TypeScript/blob/master/.github/ISSUE_TEMPLATE/Question.md
2019-08-02 19:11:41 +02:00
Lukas Tribus
6583dca675 DOC: add github issue templates
See issue #2

Co-authored-by: Tim Duesterhus <tim@bastelstu.be>
2019-01-17 22:53:55 +01:00