diff --git a/.circleci/config.yml b/.circleci/config.yml index f4ae12ffb..3ea21ff0d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -440,11 +440,11 @@ jobs: build_x86_linux_ossfuzz: docker: - - image: buildpack-deps:cosmic + - image: buildpack-deps:disco environment: TERM: xterm - CC: /usr/bin/clang-7 - CXX: /usr/bin/clang++-7 + CC: /usr/bin/clang-8 + CXX: /usr/bin/clang++-8 CMAKE_OPTIONS: -DOSSFUZZ=1 -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/libfuzzer.cmake steps: - checkout @@ -452,16 +452,18 @@ jobs: name: Install build dependencies command: | apt-get -qq update - apt-get -qy install clang-7 cmake libboost-regex-dev libboost-filesystem-dev libboost-test-dev libboost-system-dev libboost-program-options-dev libcvc4-dev libbz2-dev ninja-build zlib1g-dev libjsoncpp-dev=1.7.4-\* + apt-get -qy install wget clang-8 cmake libboost-regex-dev libboost-filesystem-dev libboost-test-dev libboost-system-dev libboost-program-options-dev libcvc4-dev libbz2-dev ninja-build zlib1g-dev libjsoncpp-dev=1.7.4-\* ./scripts/install_lpm.sh ./scripts/install_libfuzzer.sh + # Install evmone and dependencies (intx and ethash) + ./scripts/install_evmone.sh - run: *setup_prerelease_commit_hash - run: *run_build_ossfuzz - persist_to_workspace: *ossfuzz_artifacts test_x86_ossfuzz_regression: docker: - - image: buildpack-deps:cosmic + - image: buildpack-deps:disco environment: TERM: xterm steps: @@ -472,9 +474,9 @@ jobs: name: Install dependencies command: | apt-get -qq update - apt-get -qy install libcvc4-dev llvm-7-dev + apt-get -qy install libcvc4-dev llvm-8-dev ./scripts/download_ossfuzz_corpus.sh - update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-7 1 + update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-8 1 - run: mkdir -p test_results - run: *run_regressions - store_artifacts: diff --git a/scripts/install_evmone.sh b/scripts/install_evmone.sh new file mode 100755 index 000000000..0a460db90 --- /dev/null +++ b/scripts/install_evmone.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env sh + +# This is suitable for CIs, not end users. +# This script is invoked by ossfuzz build CI. +set -e + +TEMPDIR="src" +cd / +mkdir -p $TEMPDIR +cd $TEMPDIR +git clone --recurse-submodules https://github.com/chfast/evmone.git +( + cd evmone + mkdir build + cd build + cmake .. -DBUILD_SHARED_LIBS=OFF + make -j2 +) + +git clone https://github.com/chfast/intx.git +( + cd intx + mkdir build + cd build + cmake .. -DBUILD_SHARED_LIBS=OFF -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF + make -j2 +) + +git clone https://github.com/chfast/ethash.git +( + cd ethash + mkdir build + cd build + cmake .. -DBUILD_SHARED_LIBS=OFF -DETHASH_BUILD_TESTS=OFF + make -j2 +)