Tim Duesterhus
4559470728
CI: Update to actions/cache@v4
...
No functional change, but this upgrade is required, due to the v3 runtime being
deprecated:
> Node.js 16 actions are deprecated. Please update the following actions to use
> Node.js 20: actions/cache@v3. For more information see:
> https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/ .
2024-02-10 05:12:20 +01:00
Ilya Shipitsin
7b881003b1
CI: github: abandon asan matrix.py helper
...
that helper was useful in days when we beleived that gcc and clang
require different flags. those days are gone.
2024-02-07 11:05:28 +01:00
Willy Tarreau
98291440b8
Revert "CI: enable spell check on git push"
...
This reverts commit 413aa6e2e9
.
It reports failures that neither the patch's author nor the committer
are able to check for before pushing, causing an excess of failure
reports that can hardly be acted upon. We need to find a better
solution, let's revert it for now.
2024-01-26 19:58:14 +01:00
Ilya Shipitsin
413aa6e2e9
CI: enable spell check on git push
2024-01-26 17:30:03 +01:00
Ilya Shipitsin
4bdfd2ebc9
CI: extend spell check white list
...
siz - seen in src/debug.c
EXPERIM - seen in src/cli.c
2024-01-26 17:29:27 +01:00
William Lallemand
8a7c0360f3
CI: github: update wolfSSL to 5.6.6
...
Update wolfSSL to 5.6.6
2024-01-12 17:48:22 +01:00
Ilya Shipitsin
07dc373163
CI: codespell: add more words to whitelist
...
"Collet" is "Yann Collet" - a developer of xxhash
"bu" is variable name in src/sock_unix.c
"htmp" is variable name in src/quic_retransmit.c
2024-01-12 08:34:53 +01:00
Ilya Shipitsin
128490f183
CI: codespell: ignore some words in URLs
...
"trafic,ressources" are found in URIs, due to
https://github.com/codespell-project/actions-codespell/issues/55 we cannot use
wildcard for exclusion, let start with fixed list
2024-01-12 08:34:53 +01:00
Ilya Shipitsin
e6d0b87f7f
CI: use semantic version compare for determing "latest" OpenSSL
...
currently "openssl-3.2.0-beta1" wins over "openssl-3.2.0" due to
string comparision. let's switch to semantic version compare
2024-01-02 10:23:40 +01:00
William Lallemand
1a19e4e7af
CI: github: switch to wolfssl git-c4b77ad for new PR
...
The "dynamic-certs-n-ciphers" PR was just merged, lets build the wolfssl
git instead of the 5.6.4 version, so we could test the feature.
2023-12-08 12:08:22 +01:00
Ilya Shipitsin
63957b7c87
CI: limit codespell checks to main repo, not forks
2023-11-23 16:23:14 +01:00
William Lallemand
20726b43aa
CI: github: update wolfSSL to 5.6.4
...
Update wolfSSL to the 5.6.4 released version.
2023-11-03 18:50:45 +01:00
William Lallemand
cc743b698f
CI: github: add awslc 1.16.0 to the push CI
...
Add a awslc 1.16.0 to the push CI. Since this is a fixed version it
shouldn't cause problems.
2023-10-11 11:38:27 +02:00
William Lallemand
5fa7bf207e
CI: github: update wolfssl to git revision d83f2fa
...
WolfSSL 5.6.3 does not pass all the haproxy reg-tests since some fixes
are still unreleased in the master branch.
Build wolfSSL with a recent git revision to have passing reg-tests.
2023-10-11 11:25:00 +02:00
William Lallemand
160615e574
CI: github: add a wolfssl entry to the CI
...
Add a build with wolfssl 5.6.3 to the github CI.
2023-10-11 11:24:40 +02:00
William Lallemand
aaa326b571
CI: github: add USE_QUIC=1 to aws-lc build
...
Feature are limited but aws-lc can now build with USE_QUIC=1.
2023-10-04 17:03:34 +02:00
Ilya Shipitsin
d89734bcc5
CI: musl: drop shopt in workflow invocation
...
"shopt" is bash specific, while musl uses bourne shell.
/__w/_temp/1b0f5f5d-c71b-4a66-8be3-e1fe51c10993.sh: line 7: shopt: not found
2023-09-08 19:05:04 +02:00
Ilya Shipitsin
8382d71808
CI: musl: highlight section if there are coredumps
...
previously, section was collapsed, thus it was harder to find that
there's something to look at
2023-09-08 19:05:04 +02:00
Tim Duesterhus
5c923f1869
CI: Update to actions/checkout@v4
...
No functional change, but we should keep this current.
see 5f4ddb54b0
2023-09-06 17:46:02 +02:00
Andrew Hopkins
06d36913bd
CI: github: Add a weekly CI run building with AWS-LC
...
Use determine_latest_aws_lc() from matrix.py to always test with
the latest release of AWS-LC. Run the common "default,bug,devel"
tests.
2023-09-06 13:41:36 +02:00
Andrew Hopkins
b2a7840a28
CI: Update matrix.py so all code is contained in functions.
...
Refactor matrix.py so all the logic is contained inside either
helper functions or a new main function. Run the new main function
by default. This lets other GitHub actions use functions in the
python code without generating the whole matrix.
2023-09-06 13:41:36 +02:00
Andrew Hopkins
4f77690366
CI: add support to matrix.py to determine the latest AWS-LC release
...
Refactor the existing OpenSSL tag parsing logic to share some of GitHub
tag logic. OpenSSL and AWS-LC don't follow the same naming convention so
each library has it's own sorting logic.
2023-09-06 13:41:36 +02:00
Ilya Shipitsin
28e94c6192
CI: fedora: fix "dnf" invocation syntax
...
In 39e205302e
I erroneously used
"dnf git" instead of "dnf install"
2023-08-25 09:31:09 +02:00
Ilya Shipitsin
54cafa908d
CI: get rid of travis-ci wrapper for Coverity scan
...
historically coverity scan was performed by travis-ci script, let us
rewrite it in bash
2023-08-10 08:01:17 +02:00
Ilya Shipitsin
39e205302e
CI: do not use "groupinstall" for Fedora Rawhide builds
...
Fedora Rawhide migrated to dnf5, which does not support "groupinstall"
2023-08-10 08:01:17 +02:00
Ilya Shipitsin
f7dcceccc9
CI: explicitely highlight VTest result section if there's something
...
it turned out that people miss VTest result section because it is not highlighted,
let us fix that
2023-07-17 15:56:53 +02:00
Ilya Shipitsin
ddedefcaaa
CI: add naming convention documentation
...
branches "haproxy-" stand for stable branches, otherwise development
2023-07-17 15:56:52 +02:00
Ilya Shipitsin
8a46f98615
CI: drop Fedora m32 pipeline in favour of cross matrix
...
Fedora m32 monthly was introduced before cross matrix. Actually,
many of cross builds are 32 bit, no need to keep dedicated Fedora
definition
2023-05-17 14:57:10 +02:00
Ilya Shipitsin
5414d82ce5
CI: enable monthly Fedora Rawhide clang builds
...
that was temporarily disabled due to
https://github.com/haproxy/haproxy/issues/1868
we are unblocked, let us enable clang in matrix
2023-05-13 17:42:32 +02:00
Ilya Shipitsin
ed79a27a91
CI: more granular failure on generating build matrix
...
when some api endpoints used for determine latest OpenSSL, LibreSSL
are unavailable, fail only those builds, not entire matrix
2023-05-08 14:05:44 +02:00
Ilia Shipitsin
156c4b3439
CI: switch to Fastly CDN to download LibreSSL
...
OpenBSD ftp is down, let us switch to mirror
2023-04-26 18:41:03 +02:00
Ilya Shipitsin
edfa7c99e9
CI: extend spellchecker whitelist, add "clen" as well
...
"clen" is all around the code, since codespell cannot distingush
variables names, let us ignore it
2023-04-23 09:44:53 +02:00
Ilya Shipitsin
ea5a5e6feb
CI: enable monthly test on Fedora Rawhide
...
Fedora Rawhide is shipped with the most recent compilers, not yet released with
more conservative distro. It is good to catch compile errors on those compilers.
2023-04-14 10:05:32 +02:00
Ilya Shipitsin
86a40f5de9
CI: bump "actions/checkout" to v3 for cross zoo matrix
...
actions/checkout@v2 is deprecated, accidently it was not updated in our
build definition
2023-04-14 10:05:09 +02:00
Ilya Shipitsin
d481ed3fa0
CI: exclude doc/{design-thoughts,internals} from spell check
...
as those directories do contain many documents written in French,
codespell is catching a lot of false positives scanning them.
2023-04-01 18:34:10 +02:00
Ilya Shipitsin
7e6e0388d6
CI: run smoke tests on config syntax to check memory related issues
...
config syntax check seems add a value on testing code path not
covered by VTest, also checks are very fast
2023-04-01 18:30:52 +02:00
Tim Duesterhus
081091187e
CI: Reformat `matrix.py` using `black`
...
The initial version of matrix.py was formatted using `black` [1], but with all
the later changes, the formatting diverged quite a bit. This patch reformats
the script using black, fixing the indentation of some statements and
shortening overlong lines.
[1] https://github.com/psf/black
2023-01-03 16:28:34 +01:00
Tim Duesterhus
e327e41430
CI: Explicitly check environment variable against `None` in matrix.py
...
For consistency with `GITHUB_OUTPUT` at the bottom.
2023-01-03 16:28:34 +01:00
Tim Duesterhus
96e03e1a89
CI: Unify the `GITHUB_TOKEN` name across matrix.py and vtest.yml
...
This makes naming a little clearer in matrix.py, because the name matches the
name of the actual secret.
2023-01-03 16:28:34 +01:00
Tim Duesterhus
fd7931e7f3
CI: Use proper `if` blocks instead of conditional expressions in matrix.py
...
For complex expressions, such as the ones modified, the condition expression is
much less readable, especially with the actual condition in the middle of the
"then" and "else" part.
2023-01-03 16:28:34 +01:00
Tim Duesterhus
fcc21be922
CI: Add in-memory cache for the latest OpenSSL/LibreSSL
...
These functions were previously called once per compiler. Add the `lru_cache`
decorator to only perform one HTTP request each.
2023-01-03 16:28:34 +01:00
Tim Duesterhus
3c9b6f6394
CI: Improve headline in matrix.py
...
Since 4a04cd35ae
(CI: github: split ssl lib
selection based on git branch) the branch, instead of the workflow type is
passed. The headline should reflect that.
2023-01-03 16:28:34 +01:00
William Lallemand
61839b098d
CI: github: use the GITHUB_TOKEN instead of a manually generated token
...
Github allows to use a auto generated GITHUB_TOKEN so we don't need to
handle the token in the secret configuration.
https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret
2022-12-23 15:19:25 +01:00
Ilya Shipitsin
6fbc35f473
CI: github: enable github api authentication for OpenSSL tags read
...
github api throttles requests with no auth, thus we can enable
GITHUB_API_TOKEN env variable. if not set, current behaviour is kept
2022-12-22 17:36:32 +01:00
Ilya Shipitsin
f5994fc692
CI: github: split matrix for development and stable branches
...
ML ref: https://www.mail-archive.com/haproxy@formilux.org/msg42934.html
we agreed to use "latest" images for development branches and fixed
images for stable branches
Can be backported to 2.6.
2022-12-14 15:29:42 +01:00
Ilya Shipitsin
6dedeb70da
CI: github: remove redundant ASAN loop
...
it was there because we only ran ASAN for clang, now no need to separate loop
Can be backported to 2.6.
2022-12-14 15:29:20 +01:00
William Lallemand
2cb1493748
CI: github: set ulimit -n to a greater value
...
Set ulimit -n to 65536 to limit less the maxconn computation.
Could be backported at least to 2.5.
2022-12-14 00:31:19 +01:00
Ilya Shipitsin
4a04cd35ae
CI: github: split ssl lib selection based on git branch
...
when *SSL_VERSION="latest" behaviour was introduced, it seems to be fine
for development branches, but too intrusive for stable branches.
let us limit "latest" semantic only for development builds, if branch name
contains "haproxy-" it is supposed to be stable branch, no latest openssl
should be taken
[wla: must be backported as far as 2.6]
Signed-off-by: William Lallemand <wlallemand@haproxy.org>
2022-12-12 16:20:48 +01:00
William Lallemand
393e4e4dd1
CI: github: reintroduce openssl 1.1.1
...
OpenSSL 1.1.1 is not tested anymore since github updated "ubuntu-latest"
to 22.04, let's reintroduce this version.
2022-12-12 08:52:03 +01:00
Willy Tarreau
a051816c03
CI: emit the compiler's version in the build reports
...
Some occasional builds fail only on a specific platform and being able
to figure the exact compiler version used there is crucial. It's not
easy to guess from the rest of the output, so let's add it before the
platform-specific defines, which suit the same needs.
2022-11-14 11:14:02 +01:00