diff --git a/.circleci/README.md b/.circleci/README.md index 6af7fd45cc3d..22b20bc8c267 100644 --- a/.circleci/README.md +++ b/.circleci/README.md @@ -7,15 +7,15 @@ The docker images are build locally on the developer machine: ```sh cd .circleci/docker/ -docker build -t ethereum/solidity-buildpack-deps:ubuntu2204- -f Dockerfile.ubuntu2204 . -docker push ethereum/solidity-buildpack-deps:ubuntu2204- +docker build -t ethereum/solidity-buildpack-deps:ubuntu2404- -f Dockerfile.ubuntu2404 . +docker push ethereum/solidity-buildpack-deps:ubuntu2404- ``` -The current revisions per docker image are stored in [circle ci pipeline parameters](https://github.com/CircleCI-Public/api-preview-docs/blob/master/docs/pipeline-parameters.md#pipeline-parameters) called `-docker-image-rev` (e.g., `ubuntu-2204-docker-image-rev`). Please update the value assigned to the parameter(s) corresponding to the docker image(s) being updated at the time of the update. Please verify that the value assigned to the parameter matches the revision part of the docker image tag (`` in the docker build/push snippet shown above). Otherwise, the docker image used by circle ci and the one actually pushed to docker hub will differ. +The current revisions per docker image are stored in [circle ci pipeline parameters](https://github.com/CircleCI-Public/api-preview-docs/blob/master/docs/pipeline-parameters.md#pipeline-parameters) called `-docker-image-rev` (e.g., `ubuntu-2404-docker-image-rev`). Please update the value assigned to the parameter(s) corresponding to the docker image(s) being updated at the time of the update. Please verify that the value assigned to the parameter matches the revision part of the docker image tag (`` in the docker build/push snippet shown above). Otherwise, the docker image used by circle ci and the one actually pushed to docker hub will differ. Once the docker image has been built and pushed to Dockerhub, you can find it at: - https://hub.docker.com/r/ethereum/solidity-buildpack-deps:ubuntu2204- + https://hub.docker.com/r/ethereum/solidity-buildpack-deps:ubuntu2404- where the image tag reflects the target OS and revision to build Solidity and run its tests on. @@ -24,7 +24,7 @@ where the image tag reflects the target OS and revision to build Solidity and ru ```sh cd solidity # Mounts your local solidity directory in docker container for testing -docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu2204- /bin/bash +docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu2404- /bin/bash cd /src/solidity ``` diff --git a/.circleci/config.yml b/.circleci/config.yml index 931ce476a347..18ca18f3c563 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,14 +11,6 @@ parameters: type: string # solbuildpackpusher/solidity-buildpack-deps:ubuntu2004-25 default: "solbuildpackpusher/solidity-buildpack-deps@sha256:b3f321fb2d8e7a41ca9328672061c1840e5cd3fb5be503aa158d1c508deacf0a" - ubuntu-2204-docker-image: - type: string - # solbuildpackpusher/solidity-buildpack-deps:ubuntu2204-10 - default: "solbuildpackpusher/solidity-buildpack-deps@sha256:ba2d878c26d681a7d6c1922258b47c2e5dd61d0e46ab4c6a4862b473e61997b6" - ubuntu-2204-clang-docker-image: - type: string - # solbuildpackpusher/solidity-buildpack-deps:ubuntu2204.clang-9 - default: "solbuildpackpusher/solidity-buildpack-deps@sha256:703cdad5fa5c8686a3080ebb1aea1485ded2446561bf56e2945a87f2fa20a446" ubuntu-2404-docker-image: type: string # solbuildpackpusher/solidity-buildpack-deps:ubuntu2404-1 @@ -560,56 +552,6 @@ defaults: MAKEFLAGS: -j 10 CPUs: 10 - - base_ubuntu2204: &base_ubuntu2204 - docker: - - image: << pipeline.parameters.ubuntu-2204-docker-image >> - environment: &base_ubuntu2204_env - TERM: xterm - MAKEFLAGS: -j 3 - CPUs: 3 - - - base_ubuntu2204_clang: &base_ubuntu2204_clang - docker: - - image: << pipeline.parameters.ubuntu-2204-clang-docker-image >> - environment: &base_ubuntu2204_clang_env - TERM: xterm - CC: clang - CXX: clang++ - MAKEFLAGS: -j 3 - CPUs: 3 - - - base_ubuntu2204_clang_large: &base_ubuntu2204_clang_large - <<: *base_ubuntu2204_clang - resource_class: large - environment: &base_ubuntu2204_clang_large_env - <<: *base_ubuntu2204_clang_env - MAKEFLAGS: -j 5 - CPUs: 5 - - - base_ubuntu2204_small: &base_ubuntu2204_small - <<: *base_ubuntu2204 - resource_class: small - environment: &base_ubuntu2204_small_env - <<: *base_ubuntu2204_env - MAKEFLAGS: -j 2 - CPUs: 2 - - - base_ubuntu2204_large: &base_ubuntu2204_large - <<: *base_ubuntu2204 - resource_class: large - environment: &base_ubuntu2204_large_env - <<: *base_ubuntu2204_env - MAKEFLAGS: -j 5 - CPUs: 5 - - - base_ubuntu2204_xlarge: &base_ubuntu2204_xlarge - <<: *base_ubuntu2204 - resource_class: xlarge - environment: &base_ubuntu2204_xlarge_env - <<: *base_ubuntu2204_env - MAKEFLAGS: -j 10 - CPUs: 10 - - base_ubuntu2404: &base_ubuntu2404 docker: - image: << pipeline.parameters.ubuntu-2404-docker-image >> @@ -973,7 +915,7 @@ jobs: - matrix_notify_failure_unless_pr chk_pylint: - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small steps: - checkout - run: pylint --version @@ -1012,21 +954,21 @@ jobs: - matrix_notify_failure_unless_pr chk_proofs: - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small steps: - checkout - run_proofs - matrix_notify_failure_unless_pr chk_docs_pragma_min_version: - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small steps: - checkout - run_docs_pragma_min_version - matrix_notify_failure_unless_pr t_ubu_pyscripts: - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small steps: - checkout - run: @@ -1053,25 +995,25 @@ jobs: b_ubu: &b_ubu # this runs 2x faster on xlarge but takes 4x more resources (compared to medium). # Enough other jobs depend on it that it's worth it though. - <<: *base_ubuntu2204_xlarge + <<: *base_ubuntu2404_xlarge steps: - build # x64 ASAN build, for testing for memory related bugs b_ubu_asan: &b_ubu_asan # Runs slightly faster on large and xlarge but we only run it nightly so efficiency matters more. - <<: *base_ubuntu2204 + <<: *base_ubuntu2404 environment: - <<: *base_ubuntu2204_env + <<: *base_ubuntu2404_env CMAKE_OPTIONS: -DSANITIZE=address CMAKE_BUILD_TYPE: Release steps: - build b_ubu_clang: &b_ubu_clang - <<: *base_ubuntu2204_clang_large + <<: *base_ubuntu2404_clang_large environment: - <<: *base_ubuntu2204_clang_large_env + <<: *base_ubuntu2404_clang_large_env MAKEFLAGS: -j 10 steps: - build @@ -1081,9 +1023,9 @@ jobs: parameters: cmake_options: type: string - <<: *base_ubuntu2204_clang + <<: *base_ubuntu2404_clang environment: - <<: *base_ubuntu2204_clang_env + <<: *base_ubuntu2404_clang_env CMAKE_OPTIONS: << parameters.cmake_options >> steps: - build @@ -1091,7 +1033,7 @@ jobs: b_ubu_force_release: &b_ubu_force_release <<: *b_ubu environment: - <<: *base_ubuntu2204_xlarge_env + <<: *base_ubuntu2404_xlarge_env FORCE_RELEASE: ON b_ubu_static: @@ -1101,7 +1043,7 @@ jobs: # On large runs 2x faster than on medium. 3x on xlarge. <<: *base_ubuntu2004_xlarge environment: - <<: *base_ubuntu2204_xlarge_env + <<: *base_ubuntu2004_xlarge_env CMAKE_OPTIONS: -DCMAKE_BUILD_TYPE=Release -DUSE_Z3_DLOPEN=ON -DSOLC_STATIC_STDLIBS=ON steps: - checkout @@ -1121,9 +1063,9 @@ jobs: b_ubu_codecov: # Runs ~30% faster on large but we only run it nightly so efficiency matters more. - <<: *base_ubuntu2204 + <<: *base_ubuntu2404 environment: - <<: *base_ubuntu2204_env + <<: *base_ubuntu2404_env COVERAGE: ON CMAKE_BUILD_TYPE: Debug steps: @@ -1133,9 +1075,9 @@ jobs: - matrix_notify_failure_unless_pr t_ubu_codecov: - <<: *base_ubuntu2204_large + <<: *base_ubuntu2404_large environment: - <<: *base_ubuntu2204_large_env + <<: *base_ubuntu2404_large_env EVM: << pipeline.parameters.evm-version >> OPTIMIZE: 1 steps: @@ -1158,9 +1100,9 @@ jobs: # Builds in C++20 mode and uses debug build in order to speed up. # Do *NOT* store any artifacts or workspace as we don't run tests on this build. b_ubu_cxx20: - <<: *base_ubuntu2204_large + <<: *base_ubuntu2404_large environment: - <<: *base_ubuntu2204_large_env + <<: *base_ubuntu2404_large_env CMAKE_BUILD_TYPE: Debug CMAKE_OPTIONS: -DCMAKE_CXX_STANDARD=20 MAKEFLAGS: -j 10 @@ -1280,7 +1222,7 @@ jobs: - matrix_notify_failure_unless_pr b_docs: - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small steps: - checkout - setup_prerelease_commit_hash @@ -1299,7 +1241,7 @@ jobs: - soltest_all t_ubu_soltest_deprecated_evm_versions: &t_ubu_soltest_deprecated_evm_versions - <<: *base_ubuntu2204_large + <<: *base_ubuntu2404_large parallelism: 50 steps: - checkout @@ -1313,7 +1255,7 @@ jobs: - matrix_notify_failure_unless_pr t_ubu_lsp: &t_ubu_lsp - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small steps: - test_lsp @@ -1362,7 +1304,7 @@ jobs: <<: *t_ubu_cli t_ubu_locale: - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small steps: - checkout - attach_workspace: @@ -1372,10 +1314,10 @@ jobs: t_ubu_asan_cli: # Runs slightly faster on medium but we only run it nightly so efficiency matters more. - <<: *base_ubuntu2204 + <<: *base_ubuntu2404 parallelism: 8 # Should match number of tests in .circleci/parallel_cli_tests.py environment: - <<: *base_ubuntu2204_env + <<: *base_ubuntu2404_env ASAN_OPTIONS: check_initialization_order=true:detect_stack_use_after_return=true:strict_init_order=true:strict_string_checks=true:detect_invalid_pointer_pairs=2 # Suppress CLN memory leak. # See: https://github.com/ethereum/solidity/issues/13891 for details. @@ -1384,10 +1326,10 @@ jobs: - cmdline_tests t_ubu_asan_soltest: - <<: *base_ubuntu2204 + <<: *base_ubuntu2404 parallelism: 20 environment: - <<: *base_ubuntu2204_env + <<: *base_ubuntu2404_env EVM: << pipeline.parameters.evm-version >> OPTIMIZE: 0 SOLTEST_FLAGS: --no-smt @@ -1399,10 +1341,10 @@ jobs: - soltest t_ubu_asan_clang_soltest: - <<: *base_ubuntu2204_clang + <<: *base_ubuntu2404_clang parallelism: 20 environment: - <<: *base_ubuntu2204_clang_env + <<: *base_ubuntu2404_clang_env EVM: << pipeline.parameters.evm-version >> OPTIMIZE: 0 SOLTEST_FLAGS: --no-smt @@ -1411,24 +1353,24 @@ jobs: - soltest t_ubu_ubsan_clang_soltest: - <<: *base_ubuntu2204_clang + <<: *base_ubuntu2404_clang parallelism: 20 environment: - <<: *base_ubuntu2204_clang_env + <<: *base_ubuntu2404_clang_env EVM: << pipeline.parameters.evm-version >> SOLTEST_FLAGS: --no-smt steps: - soltest t_ubu_ubsan_clang_cli: - <<: *base_ubuntu2204_clang + <<: *base_ubuntu2404_clang parallelism: 8 # Should match number of tests in .circleci/parallel_cli_tests.py steps: - cmdline_tests t_ems_solcjs: # Unlike other t_ems jobs this one actually runs 2x faster on medium (compared to small). - <<: *base_ubuntu2204 + <<: *base_ubuntu2404 steps: - checkout - attach_workspace: @@ -1747,7 +1689,7 @@ jobs: parameters: preset: type: string - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small parallelism: 2 # For prepare_bytecode_report steps: - checkout @@ -1832,9 +1774,9 @@ jobs: preset: "<< parameters.preset >>" t_bytecode_compare: - <<: *base_ubuntu2204_small + <<: *base_ubuntu2404_small environment: - <<: *base_ubuntu2204_small_env + <<: *base_ubuntu2404_small_env <<: *bytecode_compare_env_presets steps: - checkout @@ -1848,7 +1790,7 @@ jobs: - matrix_notify_failure_unless_pr c_release_binaries: - <<: *base_ubuntu2204 + <<: *base_ubuntu2404 steps: - checkout - attach_workspace: diff --git a/.github/workflows/buildpack-deps.yml b/.github/workflows/buildpack-deps.yml index 1b9555ddc22d..fe6da11e16da 100644 --- a/.github/workflows/buildpack-deps.yml +++ b/.github/workflows/buildpack-deps.yml @@ -7,8 +7,6 @@ on: - 'scripts/docker/buildpack-deps/Dockerfile.emscripten' - 'scripts/docker/buildpack-deps/Dockerfile.ubuntu.clang.ossfuzz' - 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2004' - - 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2204.clang' - - 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2204' - 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2404' - 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2404.clang' @@ -25,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - image_variant: [emscripten, ubuntu.clang.ossfuzz, ubuntu2004, ubuntu2204.clang, ubuntu2204, ubuntu2404, ubuntu2404.clang] + image_variant: [emscripten, ubuntu.clang.ossfuzz, ubuntu2004, ubuntu2404, ubuntu2404.clang] steps: - uses: actions/checkout@v4 diff --git a/docs/docs.sh b/docs/docs.sh index f2c566761228..abe4921e306c 100755 --- a/docs/docs.sh +++ b/docs/docs.sh @@ -31,5 +31,8 @@ set -euo pipefail script_dir="$(dirname "$0")" cd "${script_dir}" -pip3 install -r requirements.txt --upgrade --upgrade-strategy eager +# TODO `--ignore-installed` now fixes an issue where pip tries to uninstall a Debian installed package, but is unable to +# TODO since Debian has decided to not use the RECORD file, which then breaks pip. +# TODO https://github.com/pypa/pip/issues/11631 and https://bugs.launchpad.net/ubuntu/+source/wheel/+bug/2063151 +pip3 install -r requirements.txt --ignore-installed --upgrade --upgrade-strategy eager sphinx-build -nW -b html -d _build/doctrees . _build/html diff --git a/scripts/ci/buildpack-deps_test_ubuntu1804.sh b/scripts/ci/buildpack-deps_test_ubuntu1804.sh deleted file mode 120000 index c07a74de4fb4..000000000000 --- a/scripts/ci/buildpack-deps_test_ubuntu1804.sh +++ /dev/null @@ -1 +0,0 @@ -build.sh \ No newline at end of file diff --git a/scripts/ci/buildpack-deps_test_ubuntu2204.clang.sh b/scripts/ci/buildpack-deps_test_ubuntu2204.clang.sh deleted file mode 120000 index c07a74de4fb4..000000000000 --- a/scripts/ci/buildpack-deps_test_ubuntu2204.clang.sh +++ /dev/null @@ -1 +0,0 @@ -build.sh \ No newline at end of file diff --git a/scripts/ci/buildpack-deps_test_ubuntu2204.sh b/scripts/ci/buildpack-deps_test_ubuntu2204.sh deleted file mode 120000 index c07a74de4fb4..000000000000 --- a/scripts/ci/buildpack-deps_test_ubuntu2204.sh +++ /dev/null @@ -1 +0,0 @@ -build.sh \ No newline at end of file diff --git a/scripts/docker/buildpack-deps/Dockerfile.ubuntu2204 b/scripts/docker/buildpack-deps/Dockerfile.ubuntu2204 deleted file mode 100644 index add03bb00379..000000000000 --- a/scripts/docker/buildpack-deps/Dockerfile.ubuntu2204 +++ /dev/null @@ -1,102 +0,0 @@ -# vim:syntax=dockerfile -#------------------------------------------------------------------------------ -# Dockerfile for building and testing Solidity Compiler on CI -# Target: Ubuntu 19.04 (Disco Dingo) -# URL: https://hub.docker.com/r/ethereum/solidity-buildpack-deps -# -# This file is part of solidity. -# -# solidity is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# solidity is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with solidity. If not, see -# -# (c) 2016-2019 solidity contributors. -#------------------------------------------------------------------------------ -FROM buildpack-deps:jammy AS base -LABEL version="10" - -ARG DEBIAN_FRONTEND=noninteractive - -RUN set -ex; \ - dist=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d= -f2); \ - echo "deb http://ppa.launchpad.net/ethereum/cpp-build-deps/ubuntu $dist main" >> /etc/apt/sources.list ; \ - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1c52189c923f6ca9 ; \ - apt-get update; \ - apt-get install -qqy --no-install-recommends \ - build-essential \ - cmake \ - jq \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libcln-dev \ - libz3-static-dev \ - locales-all \ - lsof \ - ninja-build \ - python3-pip \ - python3-sphinx \ - software-properties-common \ - sudo \ - unzip \ - z3-static \ - zip; \ - pip3 install \ - codecov \ - colorama \ - deepdiff \ - parsec \ - pygments-lexer-solidity \ - pylint \ - requests \ - tabulate \ - z3-solver; - -# Eldarica -RUN set -ex; \ - apt-get update; \ - apt-get install -qqy \ - openjdk-11-jre; \ - eldarica_version="2.1"; \ - wget "https://github.com/uuverifiers/eldarica/releases/download/v${eldarica_version}/eldarica-bin-${eldarica_version}.zip" -O /opt/eld_binaries.zip; \ - test "$(sha256sum /opt/eld_binaries.zip)" = "0ac43f45c0925383c9d2077f62bbb515fd792375f3b2b101b30c9e81dcd7785c /opt/eld_binaries.zip"; \ - unzip /opt/eld_binaries.zip -d /opt; \ - rm -f /opt/eld_binaries.zip; - -# CVC5 -RUN set -ex; \ - cvc5_version="1.1.2"; \ - wget "https://github.com/cvc5/cvc5/releases/download/cvc5-${cvc5_version}/cvc5-Linux-static.zip" -O /opt/cvc5.zip; \ - test "$(sha256sum /opt/cvc5.zip)" = "cf291aef67da8eaa8d425a51f67f3f72f36db8b1040655dc799b64e3d69e6086 /opt/cvc5.zip"; \ - unzip /opt/cvc5.zip -x "cvc5-Linux-static/lib/cmake/*" -d /opt; \ - mv /opt/cvc5-Linux-static/bin/* /usr/bin; \ - mv /opt/cvc5-Linux-static/include/* /usr/include; \ - mv /opt/cvc5-Linux-static/lib/* /usr/lib; \ - rm -rf /opt/cvc5-Linux-static /opt/cvc5.zip; - -FROM base AS libraries - -# EVMONE -RUN set -ex; \ - wget -O /usr/src/evmone.tar.gz https://github.com/ethereum/evmone/releases/download/v0.12.0/evmone-0.12.0-linux-x86_64.tar.gz; \ - test "$(sha256sum /usr/src/evmone.tar.gz)" = "1c7b5eba0c8c3b3b2a7a05101e2d01a13a2f84b323989a29be66285dba4136ce /usr/src/evmone.tar.gz"; \ - cd /usr; \ - tar -xf /usr/src/evmone.tar.gz; \ - rm -rf /usr/src/evmone.tar.gz - -FROM base -COPY --from=libraries /usr/lib /usr/lib -COPY --from=libraries /usr/bin /usr/bin -COPY --from=libraries /usr/include /usr/include -COPY --from=libraries /opt/eldarica /opt/eldarica -ENV PATH="$PATH:/opt/eldarica" diff --git a/scripts/docker/buildpack-deps/Dockerfile.ubuntu2204.clang b/scripts/docker/buildpack-deps/Dockerfile.ubuntu2204.clang deleted file mode 100644 index b9c9158381eb..000000000000 --- a/scripts/docker/buildpack-deps/Dockerfile.ubuntu2204.clang +++ /dev/null @@ -1,103 +0,0 @@ -# vim:syntax=dockerfile -#------------------------------------------------------------------------------ -# Dockerfile for building and testing Solidity Compiler on CI -# Target: Ubuntu 19.04 (Disco Dingo) Clang variant -# URL: https://hub.docker.com/r/ethereum/solidity-buildpack-deps -# -# This file is part of solidity. -# -# solidity is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# solidity is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with solidity. If not, see -# -# (c) 2016-2019 solidity contributors. -#------------------------------------------------------------------------------ -FROM buildpack-deps:jammy AS base -LABEL version="9" - -ARG DEBIAN_FRONTEND=noninteractive - -RUN set -ex; \ - dist=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d= -f2); \ - echo "deb http://ppa.launchpad.net/ethereum/cpp-build-deps/ubuntu $dist main" >> /etc/apt/sources.list ; \ - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1c52189c923f6ca9 ; \ - apt-get update; \ - apt-get install -qqy --no-install-recommends \ - build-essential \ - clang \ - cmake \ - jq \ - lsof \ - libboost-filesystem-dev \ - libboost-program-options-dev \ - libboost-system-dev \ - libboost-test-dev \ - libcln-dev \ - libz3-static-dev \ - ninja-build \ - python3-pip \ - software-properties-common \ - sudo \ - z3-static; \ - pip3 install \ - codecov \ - colorama \ - deepdiff \ - parsec \ - pygments-lexer-solidity \ - pylint \ - requests \ - tabulate \ - z3-solver; - -# Eldarica -RUN set -ex; \ - apt-get update; \ - apt-get install -qy \ - openjdk-11-jre \ - unzip; \ - eldarica_version="2.1"; \ - wget "https://github.com/uuverifiers/eldarica/releases/download/v${eldarica_version}/eldarica-bin-${eldarica_version}.zip" -O /opt/eld_binaries.zip; \ - test "$(sha256sum /opt/eld_binaries.zip)" = "0ac43f45c0925383c9d2077f62bbb515fd792375f3b2b101b30c9e81dcd7785c /opt/eld_binaries.zip"; \ - unzip /opt/eld_binaries.zip -d /opt; \ - rm -f /opt/eld_binaries.zip; - -# CVC5 -RUN set -ex; \ - cvc5_version="1.1.2"; \ - wget "https://github.com/cvc5/cvc5/releases/download/cvc5-${cvc5_version}/cvc5-Linux-static.zip" -O /opt/cvc5.zip; \ - test "$(sha256sum /opt/cvc5.zip)" = "cf291aef67da8eaa8d425a51f67f3f72f36db8b1040655dc799b64e3d69e6086 /opt/cvc5.zip"; \ - unzip /opt/cvc5.zip -x "cvc5-Linux-static/lib/cmake/*" -d /opt; \ - mv /opt/cvc5-Linux-static/bin/* /usr/bin; \ - mv /opt/cvc5-Linux-static/lib/* /usr/lib; \ - mv /opt/cvc5-Linux-static/include/* /usr/include; \ - rm -rf /opt/cvc5-Linux-static /opt/cvc5.zip; - -FROM base AS libraries - -ENV CC clang -ENV CXX clang++ - -# EVMONE -RUN set -ex; \ - wget -O /usr/src/evmone.tar.gz https://github.com/ethereum/evmone/releases/download/v0.12.0/evmone-0.12.0-linux-x86_64.tar.gz; \ - test "$(sha256sum /usr/src/evmone.tar.gz)" = "1c7b5eba0c8c3b3b2a7a05101e2d01a13a2f84b323989a29be66285dba4136ce /usr/src/evmone.tar.gz"; \ - cd /usr; \ - tar -xf /usr/src/evmone.tar.gz; \ - rm -rf /usr/src/evmone.tar.gz - -FROM base -COPY --from=libraries /usr/lib /usr/lib -COPY --from=libraries /usr/bin /usr/bin -COPY --from=libraries /usr/include /usr/include -COPY --from=libraries /opt/eldarica /opt/eldarica -ENV PATH="$PATH:/opt/eldarica"