X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=.github%2Fworkflows%2Fci.yml;h=e77d7d56f64ac44cc3a64cdfcaf23f29170f8cd7;hb=4bf6a314246d8f7d088eb4bf3b1e3575a6ac329f;hp=95d88aaccad6efa0f8dacc9b0d95bf7865516a2e;hpb=cd9959b4f62adfc4a60810e11d253b62b75418de;p=wimlib diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95d88aac..e77d7d56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -127,8 +127,10 @@ jobs: strategy: matrix: include: - - { sys: mingw32, env: i686 } - - { sys: mingw64, env: x86_64 } + - { msystem: mingw32, cc_pkg: mingw-w64-i686-gcc } + - { msystem: mingw64, cc_pkg: mingw-w64-x86_64-gcc } + - { msystem: clang32, cc_pkg: mingw-w64-clang-i686-clang } + - { msystem: clang64, cc_pkg: mingw-w64-clang-x86_64-clang } defaults: run: shell: msys2 {0} @@ -136,15 +138,48 @@ jobs: - uses: actions/checkout@v3 - uses: msys2/setup-msys2@v2 with: - msystem: ${{matrix.sys}} + msystem: ${{matrix.msystem}} update: true install: > autoconf automake + git libtool - pkg-config make - mingw-w64-${{matrix.env}}-cc + ${{matrix.cc_pkg}} + pkgconf + - run: CFLAGS="$DEF_CFLAGS" ./tools/make-windows-release + + fuzz-with-libFuzzer: + name: Fuzz with libFuzzer (${{matrix.target}} ${{matrix.sanitizer}}) + strategy: + matrix: + include: + - target: wim + sanitizer: + - target: wim + sanitizer: --asan --ubsan + - target: xml + sanitizer: + - target: xml + sanitizer: --asan --ubsan + - target: compress + sanitizer: + - target: compress + sanitizer: --asan --ubsan + - target: decompress + sanitizer: + - target: decompress + sanitizer: --asan --ubsan + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y clang $DEPENDENCIES - run: ./bootstrap - - run: ./configure CFLAGS="$DEF_CFLAGS" --without-fuse --without-ntfs-3g - - run: make -j8 + - name: Fuzz + run: | + tools/libFuzzer/fuzz.sh --time=120 ${{matrix.sanitizer}} \ + ${{matrix.target}}