From 2b44dd72e05c6fb0d616b6c1a96a6e09505959f9 Mon Sep 17 00:00:00 2001 From: Sergey Bronnikov Date: Sat, 26 Oct 2024 12:09:36 +0300 Subject: [PATCH 1/3] cfl: suppress output in a corpus compression Suppress output in a corpus compression because this output makes logs huge and usually this output is not needed for debug. --- .clusterfuzzlite/build.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.clusterfuzzlite/build.sh b/.clusterfuzzlite/build.sh index 17b89e7c..a9e930bb 100755 --- a/.clusterfuzzlite/build.sh +++ b/.clusterfuzzlite/build.sh @@ -74,16 +74,16 @@ do echo "Copying for $module"; cp $f $OUT/ if [ -e "$corpus_dir" ]; then - find "$corpus_dir" -mindepth 1 -maxdepth 1 | zip -@ -j $OUT/"$name"_seed_corpus.zip + find "$corpus_dir" -mindepth 1 -maxdepth 1 | zip -@ -j --quiet $OUT/"$name"_seed_corpus.zip fi dict_path="corpus/$name.dict" if [ -e "$dict_path" ]; then - zip -urj $OUT/"$name"_seed_corpus.zip $dict_path + zip -urj $OUT/"$name"_seed_corpus.zip "$dict_path" fi options_path="corpus/$name.options" if [ -e "$options_path" ]; then - zip -urj $OUT/"$name"_seed_corpus.zip $options_path + zip -urj $OUT/"$name"_seed_corpus.zip "$options_path" fi done From d8f7c82fd7322b54b843ef95ba7a888de4e9e986 Mon Sep 17 00:00:00 2001 From: Sergey Bronnikov Date: Mon, 25 Nov 2024 12:10:46 +0300 Subject: [PATCH 2/3] cfl: switch to using the latest version of corpus From the beginning CFL uses a corpus in Git submodule of a lua-c-api-test repository, but this submodule was bumped quite rarely and thus outdated corpus was used. The patch switches to using the latest version of corpus. --- .clusterfuzzlite/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.clusterfuzzlite/Dockerfile b/.clusterfuzzlite/Dockerfile index c0d3d43b..6bb43fee 100644 --- a/.clusterfuzzlite/Dockerfile +++ b/.clusterfuzzlite/Dockerfile @@ -12,6 +12,6 @@ RUN apt-get update && apt-get install -y \ COPY . $SRC/lua-c-api-tests WORKDIR $SRC/lua-c-api-tests -RUN git submodule update --init --recursive --force -RUN cd corpus && git checkout cfl +RUN rm -rf corpus +RUN git clone --depth 1 --branch cfl https://github.com/ligurio/lua-c-api-corpus corpus COPY .clusterfuzzlite/build.sh $SRC/ From 905efcfc75c1442dd1644a9804ae6730cee78ff5 Mon Sep 17 00:00:00 2001 From: Sergey Bronnikov Date: Mon, 25 Nov 2024 10:30:21 +0300 Subject: [PATCH 3/3] cfl: fix randomly failed builds GitHub action builds started to randomly fail with a reason: "The runner has received a shutdown signal.". The issue [1] and discussion [2] points to a workaround: replace a "ubuntu-latest" with "ubuntu-20.04" and it started to work. Note that the problem reproduce with "ubuntu-22.04" as well. The patch replaces "ubuntu-latest" with "ubuntu-20.04" in CFL workflows. 1. https://github.com/actions/runner-images/issues/6709 2. https://github.com/actions/runner-images/discussions/7188 --- .github/workflows/cflite_batch.yml | 2 +- .github/workflows/cflite_build.yml | 2 +- .github/workflows/cflite_cron.yml | 4 ++-- .github/workflows/cflite_pr.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cflite_batch.yml b/.github/workflows/cflite_batch.yml index cbf841ae..5605787b 100644 --- a/.github/workflows/cflite_batch.yml +++ b/.github/workflows/cflite_batch.yml @@ -15,7 +15,7 @@ permissions: read-all jobs: luajit: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/cflite_build.yml b/.github/workflows/cflite_build.yml index f03ed2bc..89a639d8 100644 --- a/.github/workflows/cflite_build.yml +++ b/.github/workflows/cflite_build.yml @@ -10,7 +10,7 @@ permissions: read-all jobs: luajit: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/cflite_cron.yml b/.github/workflows/cflite_cron.yml index bf11a64b..3f3f2447 100644 --- a/.github/workflows/cflite_cron.yml +++ b/.github/workflows/cflite_cron.yml @@ -16,7 +16,7 @@ jobs: # are covered by fuzzing. Coverage: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup @@ -46,7 +46,7 @@ jobs: # code coverage. Pruning: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup diff --git a/.github/workflows/cflite_pr.yml b/.github/workflows/cflite_pr.yml index 39c1c29c..f9ca30d1 100644 --- a/.github/workflows/cflite_pr.yml +++ b/.github/workflows/cflite_pr.yml @@ -35,7 +35,7 @@ permissions: read-all jobs: luajit: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: