git/ci
Josh Steadmon c4a9cf1df3 ci: build and run minimal fuzzers in GitHub CI
To prevent bitrot, we would like to regularly exercise the fuzz tests in
order to make sure they still link & run properly. We already compile
the fuzz test objects as part of the default `make` target, but we do
not link the executables due to the fuzz tests needing specific
compilers and compiler features. This has lead to frequent build
breakages for the fuzz tests.

To remedy this, we can add a CI step to actually link the fuzz
executables, and run them (with finite input rather than the default
infinite random input mode) to verify that they execute properly.

Since the main use of the fuzz tests is via OSS-Fuzz [1], and OSS-Fuzz
only runs tests on Linux [2], we only set up a CI test for the fuzzers
on Linux.

[1] https://github.com/google/oss-fuzz
[2] https://google.github.io/oss-fuzz/further-reading/fuzzer-environment/

Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-19 14:29:25 -08:00
..
config ci: deprecate ci/config/allow-ref script 2023-08-30 15:56:11 -07:00
util travis-ci: include the trash directories of failed tests in the trace log 2018-08-01 09:59:36 -07:00
check-directional-formatting.bash ci: disallow directional formatting 2021-11-04 10:13:10 -07:00
install-dependencies.sh Merge branch 'ab/ci-use-macos-12' 2022-12-10 14:01:06 +09:00
install-docker-dependencies.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
lib.sh ci: upgrade to using macos-13 2023-11-03 18:52:02 +09:00
make-test-artifacts.sh ci(github): use grouping also in the `win-build` job 2022-06-13 09:58:41 -07:00
mount-fileshare.sh Add a build definition for Azure DevOps 2019-01-29 09:26:46 -08:00
print-test-failures.sh CI: remove Travis CI support 2021-11-23 16:51:53 -08:00
run-build-and-minimal-fuzzers.sh ci: build and run minimal fuzzers in GitHub CI 2024-01-19 14:29:25 -08:00
run-build-and-tests.sh pack-bitmap.c: use commit boundary during bitmap traversal 2023-05-08 12:05:55 -07:00
run-docker-build.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
run-docker.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
run-static-analysis.sh i18n CI: stop allowing non-ASCII source messages in po/git.pot 2022-05-26 10:30:28 -07:00
run-test-slice.sh ci/run-build-and-tests: add some structure to the GitHub workflow output 2022-05-21 16:25:56 -07:00
test-documentation.sh ci: ignore rubygems warning in the "Documentation" job 2020-02-10 09:52:27 -08:00