GHA: run random curl command lines for N seconds in CI

In the memory and address sanitizer builds.

Verify that nothing unexpected happens.

Starting out with 60 second runs.

The script does not set any seed so it runs with a new random every
time, meaning that if it fails in a single CI run it might not fail in a
subsequent one: but it should still show the full command that failed to
enable us to reproduce it locally. We can work on improving the seed
situation later if this script turns useful.

Closes #16884
This commit is contained in:
Daniel Stenberg 2025-03-31 13:49:18 +02:00
parent 0d85c8c49d
commit 0042f11d6e
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
2 changed files with 249 additions and 1 deletions

View file

@ -228,7 +228,7 @@ jobs:
- name: address-sanitizer
install_packages: zlib1g-dev libssh2-1-dev clang libssl-dev libubsan1 libasan8 libtsan2
install_steps: pytest
install_steps: pytest randcurl
configure: >-
CC=clang
CFLAGS="-fsanitize=address,undefined,signed-integer-overflow -fno-sanitize-recover=undefined,integer -Wformat -Werror=format-security -Werror=array-bounds -g"
@ -247,6 +247,7 @@ jobs:
- name: memory-sanitizer
install_packages: clang
install_steps: randcurl
configure: >-
CC=clang
CFLAGS="-fsanitize=memory -Wformat -Werror=format-security -Werror=array-bounds -g"
@ -697,6 +698,13 @@ jobs:
make -C bld V=1 pytest-ci
fi
- name: 'randcurl'
if: ${{ contains(matrix.build.install_steps, 'randcurl') }}
run: |
mkdir run
cd run
../.github/scripts/randcurl.pl 60 ../bld/src/curl
- name: 'build examples'
if: ${{ matrix.build.make-custom-target != 'tidy' }}
run: |