Merge pull request #6803 from ethereum/add-evmone-to-ossfuzz-build-ci

Install evmone and its dependencies
This commit is contained in:
chriseth 2019-05-28 12:42:53 +02:00 committed by GitHub
commit e54d727a85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 45 additions and 7 deletions

View File

@ -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:

36
scripts/install_evmone.sh Executable file
View File

@ -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
)