DEBUG #78
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Fuzz testing | |
| on: | |
| push: | |
| permissions: {} | |
| jobs: | |
| Build: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: rockylinux:9.3 | |
| steps: | |
| - name: Configure & install basic prerequisites | |
| run: | | |
| dnf install 'dnf-command(config-manager)' -y | |
| dnf config-manager --set-enabled crb | |
| dnf install git python3-pip autoconf automake libtool nasm epel-release -y | |
| # AFL | |
| - name: Install AFL++ dependencies | |
| run: | | |
| dnf install gcc-plugin-devel gcc-c++ -y | |
| - name: Checkout AFL++ | |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| repository: AFLplusplus/AFLplusplus | |
| fetch-depth: 1 | |
| path: aflplusplus | |
| - name: Build & install AFL++ | |
| working-directory: aflplusplus | |
| run: | | |
| make source-only NO_PYTHON=1 NO_NYX=1 NO_QEMU=1 NO_FRIDA=1 NO_UNICORN=1 | |
| make install | |
| # Kaitai Struct | |
| # - name: Install Kaitai Struct dependencies | |
| # run: | | |
| # sudo apt-get install libgtest-dev | |
| # - name: Checkout Kaitai Struct C++/STL runtime | |
| # uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| # with: | |
| # fetch-depth: 1 | |
| # repository: kaitai-io/kaitai_struct_cpp_stl_runtime | |
| # path: kaitai_struct_cpp_stl_runtime | |
| # - name: Build & install Kaitai Struct C++/STL runtime | |
| # working-directory: kaitai_struct_cpp_stl_runtime | |
| # run: | | |
| # .build/build | |
| # sudo cmake --install build/ | |
| # DAOS | |
| - name: Checkout daos-stack/daos | |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 1 | |
| path: daos | |
| - name: Install DAOS dependencies (part 1) | |
| working-directory: daos | |
| run: | | |
| pip install scons | |
| pip install -r requirements-build.txt | |
| dnf install meson libfabric-devel hwloc-devel boost-devel ucx-devel libuuid-devel \ | |
| openssl-devel protobuf-c-devel lz4-devel isa-l-devel libunwind-devel libcmocka-devel \ | |
| valgrind-devel CUnit-devel libyaml-devel libevent-devel json-c-devel libipmctl-devel \ | |
| libpmemobj-devel -y | |
| - name: Download and install DAOS dependencies (part 2) | |
| run: | | |
| curl \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/mercury-2.4.0-8.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/mercury-devel-2.4.0-8.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/argobots-1.2-3.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/argobots-devel-1.2-3.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/spdk-22.01.2-6.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/spdk-devel-22.01.2-6.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/spdk-tools-22.01.2-6.el9.noarch.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/dpdk-21.11.2-2.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/dpdk-devel-21.11.2-2.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/fuse-common-3.16.2-2.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/fuse3-3.16.2-2.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/fuse3-devel-3.16.2-2.el9.x86_64.rpm \ | |
| -O https://packages.daos.io/v2.6/EL9/packages/x86_64/fuse3-libs-3.16.2-2.el9.x86_64.rpm | |
| dnf install ./*.rpm -y | |
| - name: Checkout intel/isa-l_crypto | |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| repository: intel/isa-l_crypto | |
| ref: v2.25.0 | |
| submodules: recursive | |
| fetch-depth: 1 | |
| path: isa-l_crypto | |
| - name: Build and install DAOS dependencies (part 3) | |
| working-directory: isa-l_crypto | |
| run: | | |
| ./autogen.sh --no-oshmem | |
| ./configure --disable-static | |
| make -j $(nproc) | |
| make install | |
| # - name: Build DAOS dependencies | |
| # working-directory: daos | |
| # run: | | |
| # scons --build-deps=yes --jobs $(nproc) PREFIX=/opt/daos BUILD_TYPE=debug | |
| - name: Build fuzz tests | |
| working-directory: daos | |
| run: | | |
| scons --build-deps=no --jobs $(nproc) PREFIX=/opt/daos BUILD_TYPE=debug BUILD_FUZZ_TESTS_ONLY=yes install | |
| - name: Check fuzz tests | |
| working-directory: daos | |
| run: | | |
| find build/debug/ -name *_fuzz |