diff --git a/.circleci/README.md b/.circleci/README.md index 7f7b01455..23edcbb75 100644 --- a/.circleci/README.md +++ b/.circleci/README.md @@ -7,22 +7,24 @@ The docker images are build locally on the developer machine: ```!sh cd .circleci/docker/ -docker build -t ethereum/solidity-buildpack-deps:ubuntu1904 -f Dockerfile.ubuntu1904 . -docker push ethereum/solidity-buildpack-deps:ubuntu1904 +docker build -t ethereum/solidity-buildpack-deps:ubuntu1904- -f Dockerfile.ubuntu1904 . +docker push ethereum/solidity-buildpack-deps:ubuntu1904- ``` -which you can find on Dockerhub after the push at: +The current revision is `1`. - https://hub.docker.com/r/ethereum/solidity-buildpack-deps +Once the docker image has been built and pushed to Dockerhub, you can find it at: -where the image tag reflects the target OS to build Solidity and run its test on. + https://hub.docker.com/r/ethereum/solidity-buildpack-deps:ubuntu1904- + +where the image tag reflects the target OS and revision to build Solidity and run its tests on. ### Testing docker images locally ```!sh cd solidity # Mounts your local solidity directory in docker container for testing -docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu1904 /bin/bash +docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu1904- /bin/bash cd /src/solidity -``` \ No newline at end of file +``` diff --git a/.circleci/config.yml b/.circleci/config.yml index 3e9cebb06..7c2bda047 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -106,7 +106,7 @@ defaults: - test_ubuntu1904_clang: &test_ubuntu1904_clang docker: - - image: ethereum/solidity-buildpack-deps:ubuntu1904-clang + - image: ethereum/solidity-buildpack-deps:ubuntu1904-clang-1 steps: - checkout - attach_workspace: @@ -117,7 +117,7 @@ defaults: - test_ubuntu1904: &test_ubuntu1904 docker: - - image: ethereum/solidity-buildpack-deps:ubuntu1904 + - image: ethereum/solidity-buildpack-deps:ubuntu1904-1 steps: - checkout - attach_workspace: @@ -287,7 +287,7 @@ jobs: b_ubu_clang: &build_ubuntu1904_clang docker: - - image: ethereum/solidity-buildpack-deps:ubuntu1904-clang + - image: ethereum/solidity-buildpack-deps:ubuntu1904-clang-1 environment: CC: clang CXX: clang++ @@ -299,7 +299,7 @@ jobs: b_ubu: &build_ubuntu1904 docker: - - image: ethereum/solidity-buildpack-deps:ubuntu1904 + - image: ethereum/solidity-buildpack-deps:ubuntu1904-1 steps: - checkout - run: *run_build @@ -313,7 +313,7 @@ jobs: b_ubu18: &build_ubuntu1804 docker: - - image: ethereum/solidity-buildpack-deps:ubuntu1804 + - image: ethereum/solidity-buildpack-deps:ubuntu1804-1 environment: CMAKE_OPTIONS: -DCMAKE_CXX_FLAGS=-O2 CMAKE_BUILD_TYPE: RelWithDebugInfo @@ -519,7 +519,7 @@ jobs: b_docs: docker: - - image: ethereum/solidity-buildpack-deps:ubuntu1904 + - image: ethereum/solidity-buildpack-deps:ubuntu1904-1 steps: - checkout - run: *setup_prerelease_commit_hash @@ -544,7 +544,7 @@ jobs: t_ubu_cli: &t_ubu_cli docker: - - image: ethereum/solidity-buildpack-deps:ubuntu1904 + - image: ethereum/solidity-buildpack-deps:ubuntu1904-1 environment: TERM: xterm steps: diff --git a/.circleci/docker/Dockerfile.clang.ubuntu1904 b/.circleci/docker/Dockerfile.clang.ubuntu1904 index 4fb9b1132..2362d8768 100644 --- a/.circleci/docker/Dockerfile.clang.ubuntu1904 +++ b/.circleci/docker/Dockerfile.clang.ubuntu1904 @@ -89,40 +89,21 @@ RUN set -ex; \ ninja install/strip; \ rm -rf /usr/src/libprotobuf-mutator -# ETHASH -RUN set -ex; \ - cd /usr/src; \ - git clone --branch="v0.4.4" https://github.com/chfast/ethash.git; \ - cd ethash; \ - mkdir build; \ - cd build; \ - cmake .. -G Ninja -DBUILD_SHARED_LIBS=ON -DETHASH_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \ - ninja; \ - ninja install/strip; \ - rm -rf /usr/src/ethash - -# INTX -RUN set -ex; \ - cd /usr/src; \ - git clone --branch="v0.2.0" https://github.com/chfast/intx.git; \ - cd intx; \ - mkdir build; \ - cd build; \ - cmake .. -G Ninja -DBUILD_SHARED_LIBS=ON -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \ - ninja; \ - ninja install/strip; \ - rm -rf /usr/src/intx; - # EVMONE RUN set -ex; \ cd /usr/src; \ - git clone --branch="v0.1.0" --recurse-submodules https://github.com/ethereum/evmone.git; \ + git clone --branch="v0.2.0" --recurse-submodules https://github.com/ethereum/evmone.git; \ cd evmone; \ mkdir build; \ cd build; \ + # isoltest links against the evmone shared library cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="/usr" ..; \ ninja; \ ninja install/strip; \ + # abiv2_proto_ossfuzz links against the evmone standalone static library + cmake -G Ninja -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="/usr" ..; \ + ninja; \ + ninja install/strip; \ rm -rf /usr/src/evmone FROM base diff --git a/.circleci/docker/Dockerfile.ubuntu1804 b/.circleci/docker/Dockerfile.ubuntu1804 index 0242661e7..d6b0c8142 100644 --- a/.circleci/docker/Dockerfile.ubuntu1804 +++ b/.circleci/docker/Dockerfile.ubuntu1804 @@ -74,34 +74,10 @@ RUN set -ex; \ ar r /usr/lib/libFuzzingEngine.a *.o; \ rm -rf /var/lib/libfuzzer -# ETHASH -RUN set -ex; \ - cd /usr/src; \ - git clone --branch="v0.4.4" https://github.com/chfast/ethash.git; \ - cd ethash; \ - mkdir build; \ - cd build; \ - cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DETHASH_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \ - ninja; \ - ninja install/strip; \ - rm -rf /usr/src/ethash - -# INTX -RUN set -ex; \ - cd /usr/src; \ - git clone --branch="v0.2.0" https://github.com/chfast/intx.git; \ - cd intx; \ - mkdir build; \ - cd build; \ - cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \ - ninja; \ - ninja install/strip; \ - rm -rf /usr/src/intx; - # EVMONE -ARG EVMONE_HASH="f10d12c190f55a9d373e78b2dc0074d35d752c02cb536bb6fe754fb3719dd69e" +ARG EVMONE_HASH="81488656a53ae1bbf186d33fc69a4f5c59d3d7419b1ba1b4832a0d409b1a33bf" ARG EVMONE_MAJOR="0" -ARG EVMONE_MINOR="1" +ARG EVMONE_MINOR="2" ARG EVMONE_MICRO="0" RUN set -ex; \ EVMONE_VERSION="$EVMONE_MAJOR.$EVMONE_MINOR.$EVMONE_MICRO"; \ diff --git a/.circleci/docker/Dockerfile.ubuntu1904 b/.circleci/docker/Dockerfile.ubuntu1904 index 504e13d1f..ecd09edf9 100644 --- a/.circleci/docker/Dockerfile.ubuntu1904 +++ b/.circleci/docker/Dockerfile.ubuntu1904 @@ -74,37 +74,14 @@ RUN set -ex; \ ar r /usr/lib/libFuzzingEngine.a *.o; \ rm -rf /var/lib/libfuzzer -# ETHASH -RUN set -ex; \ - cd /usr/src; \ - git clone --branch="v0.4.4" https://github.com/chfast/ethash.git; \ - cd ethash; \ - mkdir build; \ - cd build; \ - cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DETHASH_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \ - ninja; \ - ninja install/strip; \ - rm -rf /usr/src/ethash - -# INTX -RUN set -ex; \ - cd /usr/src; \ - git clone --branch="v0.2.0" https://github.com/chfast/intx.git; \ - cd intx; \ - mkdir build; \ - cd build; \ - cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \ - ninja; \ - ninja install/strip; \ - rm -rf /usr/src/intx; - # EVMONE RUN set -ex; \ cd /usr/src; \ - git clone --branch="v0.1.0" --recurse-submodules https://github.com/ethereum/evmone.git; \ + git clone --branch="v0.2.0" --recurse-submodules https://github.com/ethereum/evmone.git; \ cd evmone; \ mkdir build; \ cd build; \ + # isoltest links against the evmone shared library cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="/usr" ..; \ ninja; \ ninja install/strip; \ diff --git a/test/tools/ossfuzz/CMakeLists.txt b/test/tools/ossfuzz/CMakeLists.txt index 2481c63c3..83543b9f0 100644 --- a/test/tools/ossfuzz/CMakeLists.txt +++ b/test/tools/ossfuzz/CMakeLists.txt @@ -71,7 +71,8 @@ if (OSSFUZZ) /usr/include/libprotobuf-mutator ) target_link_libraries(abiv2_proto_ossfuzz PRIVATE solidity - evmc evmone intx ethash evmc-instructions + evmc + evmone-standalone protobuf-mutator-libfuzzer.a protobuf-mutator.a protobuf.a