summaryrefslogtreecommitdiff
path: root/.github
Commit message (Collapse)AuthorAgeFilesLines
* CI: drop Fedora m32 pipeline in favour of cross matrixIlya Shipitsin2023-05-171-42/+0
| | | | | | Fedora m32 monthly was introduced before cross matrix. Actually, many of cross builds are 32 bit, no need to keep dedicated Fedora definition
* CI: enable monthly Fedora Rawhide clang buildsIlya Shipitsin2023-05-131-3/+1
| | | | | | | that was temporarily disabled due to https://github.com/haproxy/haproxy/issues/1868 we are unblocked, let us enable clang in matrix
* CI: more granular failure on generating build matrixIlya Shipitsin2023-05-081-5/+10
| | | | | when some api endpoints used for determine latest OpenSSL, LibreSSL are unavailable, fail only those builds, not entire matrix
* CI: switch to Fastly CDN to download LibreSSLIlia Shipitsin2023-04-261-1/+1
| | | | OpenBSD ftp is down, let us switch to mirror
* CI: extend spellchecker whitelist, add "clen" as wellIlya Shipitsin2023-04-231-1/+1
| | | | | "clen" is all around the code, since codespell cannot distingush variables names, let us ignore it
* CI: enable monthly test on Fedora RawhideIlya Shipitsin2023-04-141-0/+61
| | | | | 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.
* CI: bump "actions/checkout" to v3 for cross zoo matrixIlya Shipitsin2023-04-141-1/+1
| | | | | actions/checkout@v2 is deprecated, accidently it was not updated in our build definition
* CI: exclude doc/{design-thoughts,internals} from spell checkIlya Shipitsin2023-04-011-1/+1
| | | | | as those directories do contain many documents written in French, codespell is catching a lot of false positives scanning them.
* CI: run smoke tests on config syntax to check memory related issuesIlya Shipitsin2023-04-011-0/+4
| | | | | config syntax check seems add a value on testing code path not covered by VTest, also checks are very fast
* CI: Reformat `matrix.py` using `black`Tim Duesterhus2023-01-031-17/+23
| | | | | | | | | 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
* CI: Explicitly check environment variable against `None` in matrix.pyTim Duesterhus2023-01-031-1/+1
| | | | For consistency with `GITHUB_OUTPUT` at the bottom.
* CI: Unify the `GITHUB_TOKEN` name across matrix.py and vtest.ymlTim Duesterhus2023-01-032-3/+3
| | | | | This makes naming a little clearer in matrix.py, because the name matches the name of the actual secret.
* CI: Use proper `if` blocks instead of conditional expressions in matrix.pyTim Duesterhus2023-01-031-5/+24
| | | | | | 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.
* CI: Add in-memory cache for the latest OpenSSL/LibreSSLTim Duesterhus2023-01-031-0/+3
| | | | | These functions were previously called once per compiler. Add the `lru_cache` decorator to only perform one HTTP request each.
* CI: Improve headline in matrix.pyTim Duesterhus2023-01-031-1/+1
| | | | | | Since 4a04cd35ae89bf6a3bb7620f7a49804de3240ac4 (CI: github: split ssl lib selection based on git branch) the branch, instead of the workflow type is passed. The headline should reflect that.
* CI: github: use the GITHUB_TOKEN instead of a manually generated tokenWilliam Lallemand2022-12-231-0/+2
| | | | | | | 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
* CI: github: enable github api authentication for OpenSSL tags readIlya Shipitsin2022-12-221-1/+3
| | | | | github api throttles requests with no auth, thus we can enable GITHUB_API_TOKEN env variable. if not set, current behaviour is kept
* CI: github: split matrix for development and stable branchesIlya Shipitsin2022-12-141-17/+8
| | | | | | | | | 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.
* CI: github: remove redundant ASAN loopIlya Shipitsin2022-12-141-35/+32
| | | | | | it was there because we only ran ASAN for clang, now no need to separate loop Can be backported to 2.6.
* CI: github: set ulimit -n to a greater valueWilliam Lallemand2022-12-141-1/+1
| | | | | | Set ulimit -n to 65536 to limit less the maxconn computation. Could be backported at least to 2.5.
* CI: github: split ssl lib selection based on git branchIlya Shipitsin2022-12-122-7/+5
| | | | | | | | | | | | 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>
* CI: github: reintroduce openssl 1.1.1William Lallemand2022-12-121-0/+1
| | | | | OpenSSL 1.1.1 is not tested anymore since github updated "ubuntu-latest" to 22.04, let's reintroduce this version.
* CI: emit the compiler's version in the build reportsWilly Tarreau2022-11-141-0/+3
| | | | | | | 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.
* CI: enable QUIC for LibreSSL buildsIlya Shipitsin2022-11-071-1/+1
| | | | since LibreSSL-3.6.x supports QUIC, let us enable it
* CI: switch to the "latest" LibreSSLIlya Shipitsin2022-11-071-1/+1
| | | | | LibreSSL-3.6.0 had some regression, it was fixed in 3.6.1, let us switch back to the latest LibreSSL available
* CI: add monthly gcc cross compile jobsIlya Shipitsin2022-10-301-0/+110
| | | | | Build only gcc cross compile jobs are added with monthly run to catch rare errors, mostly 32bit <--> 64bit
* CI: github: dump the backtrace of coredumps in the alpine containerWilliam Lallemand2022-10-211-2/+18
| | | | | | | | | 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.
* CI: Replace the deprecated `::set-output` command by writing to ↵Tim Duesterhus2022-10-143-5/+5
| | | | | | | $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.
* CI: Replace the deprecated `::set-output` command by writing to ↵Tim Duesterhus2022-10-141-1/+4
| | | | | | | | | | | | | | | | $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.
* CI: SSL: temporarily stick to LibreSSL=3.5.3Ilya Shipitsin2022-10-131-1/+1
| | | | | recently released 3.6.0 introduced some regression which must be resolved first, let us use 3.5.3 notation instead of "latest"
* CI: SSL: use proper version generating when "latest" semantic is usedIlya Shipitsin2022-10-131-2/+2
| | | | | | | 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
* CI: enable weekly "m32" builds on x86_64Ilya Shipitsin2022-08-061-0/+42
| | | | | | this is build only workflow, catches potential "size_t" mismatches -- v2 job name added, various markup changes
* CI: re-enable gcc asan buildsIlya Shipitsin2022-07-041-39/+36
| | | | | for some unclear reasons asan builds were limited to clang only. let us enable them for gcc as well
* CI: determine actual OpenSSL version dynamicallyIlya Shipitsin2022-05-201-1/+15
| | | | | this change introduce "OPENSSL_VERSION=latest" semantic, which scans https://api.github.com/repos/openssl/openssl/tags and detects latest release.
* CI: determine actual LibreSSL version dynamicallyIlya Shipitsin2022-05-141-2/+12
| | | | | | | 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.
* CI: dynamically determine actual version of h2specIlya Shipitsin2022-05-081-4/+5
| | | | | previously we used hardcoded h2spec version. let us switch to the latest available
* CI: github actions: update LibreSSL to 3.5.2Ilya Shipitsin2022-04-301-1/+1
| | | | LibreSSL-3.5.2 was released on Apr 23nd 2022, let us switch to it
* CI: github actions: disable -Wno-deprecatedWilliam Lallemand2022-04-111-2/+0
| | | | | The deprecrated code is now disabled by default, so we can build with quictls and openssl 3.0 without this option.
* CI: Update to actions/cache@v3Tim Duesterhus2022-04-111-2/+2
| | | | No functional changes for our use case, but we should keep this current.
* CI: Update to actions/checkout@v3Tim Duesterhus2022-04-118-9/+9
| | | | No functional change, but we should keep this current.
* CI: github actions: update OpenSSL to 3.0.2Ilya Shipitsin2022-03-311-1/+1
|
* CI: github actions: switch to LibreSSL-3.5.1Ilya Shipitsin2022-03-181-1/+1
|
* CI: coverity: simplify debugging optionsWilly Tarreau2022-03-041-7/+3
| | | | | | | | | | | | 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.
* CI: github: enable pool debugging by defaultWilly Tarreau2022-02-233-3/+3
| | | | | | | 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.
* CI: enable QUIC for Coverity scanIlya Shipitsin2022-02-121-1/+4
|
* CI: Consistently use actions/checkout@v2Tim Duesterhus2022-01-293-3/+3
| | | | v2 is the current version of the checkout action and faster than v1.
* CI: github actions: use cache for SSL libsIlya Shipitsin2022-01-251-1/+17
| | | | | we have two kinds of SSL libs built - git based and version based. this commit introduces caching for version based SSL libs.
* CI: refactor OpenTracing build scriptIlya Shipitsin2022-01-191-15/+2
| | | | re-use scripts/build-ot.sh in CI again. Bump opentracing-cpp to 1.6.0
* CI: github actions: use cache for OpenTracingIlya Shipitsin2022-01-132-6/+28
| | | | | this caches OpenTracing libs between builds, should save couple of minutes for each build.
* CI: github actions: clean default step conditionsIlya Shipitsin2022-01-111-3/+0
| | | | | step condition "if: ${{ !failure() }}" was added in 2ef4c7c84363f5a9b80a2093df1370514319db28 during my experiments. As Tim Düsterhus mentioned, that condition is default and may be omitted.