Skip to content

Commit 01f1aaa

Browse files
authored
Merge pull request #7934 from ethereum/develop
Merge develop to release for 0.5.14
2 parents 5b0b510 + 5404343 commit 01f1aaa

File tree

393 files changed

+7190
-2634
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

393 files changed

+7190
-2634
lines changed

.circleci/README.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,27 @@
44

55
The docker images are build locally on the developer machine:
66

7-
```!sh
7+
```sh
88
cd .circleci/docker/
99

10-
docker build -t ethereum/solidity-buildpack-deps:ubuntu1904 -f Dockerfile.ubuntu1904 .
11-
docker push ethereum/solidity-buildpack-deps:ubuntu1904
10+
docker build -t ethereum/solidity-buildpack-deps:ubuntu1904-<revision> -f Dockerfile.ubuntu1904 .
11+
docker push ethereum/solidity-buildpack-deps:ubuntu1904-<revision>
1212
```
1313

14-
which you can find on Dockerhub after the push at:
14+
The current revision is stored in a [circle ci pipeline parameter](https://github.com/CircleCI-Public/api-preview-docs/blob/master/docs/pipeline-parameters.md#pipeline-parameters) called `docker-image-rev`. Please update the value assigned to this parameter at the time of a docker image update. Please verify that the value assigned to the parameter matches the revision part of the docker image tag (`<revision>` 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.
1515

16-
https://hub.docker.com/r/ethereum/solidity-buildpack-deps
16+
Once the docker image has been built and pushed to Dockerhub, you can find it at:
1717

18-
where the image tag reflects the target OS to build Solidity and run its test on.
18+
https://hub.docker.com/r/ethereum/solidity-buildpack-deps:ubuntu1904-<revision>
19+
20+
where the image tag reflects the target OS and revision to build Solidity and run its tests on.
1921

2022
### Testing docker images locally
2123

22-
```!sh
24+
```sh
2325
cd solidity
2426
# Mounts your local solidity directory in docker container for testing
25-
docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu1904 /bin/bash
27+
docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu1904-<revision> /bin/bash
2628
cd /src/solidity
2729
<commands_to_test_build_with_new_docker_image>
28-
```
30+
```

.circleci/config.yml

Lines changed: 76 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
# - t: test
66
# - ubu: ubuntu
77
# - ems: Emscripten
8-
version: 2
8+
version: 2.1
9+
parameters:
10+
docker-image-rev:
11+
type: string
12+
default: "3"
913

1014
defaults:
1115

@@ -106,7 +110,7 @@ defaults:
106110

107111
- test_ubuntu1904_clang: &test_ubuntu1904_clang
108112
docker:
109-
- image: ethereum/solidity-buildpack-deps:ubuntu1904-clang
113+
- image: ethereum/solidity-buildpack-deps:ubuntu1904-clang-<< pipeline.parameters.docker-image-rev >>
110114
steps:
111115
- checkout
112116
- attach_workspace:
@@ -117,7 +121,7 @@ defaults:
117121

118122
- test_ubuntu1904: &test_ubuntu1904
119123
docker:
120-
- image: ethereum/solidity-buildpack-deps:ubuntu1904
124+
- image: ethereum/solidity-buildpack-deps:ubuntu1904-<< pipeline.parameters.docker-image-rev >>
121125
steps:
122126
- checkout
123127
- attach_workspace:
@@ -287,10 +291,11 @@ jobs:
287291

288292
b_ubu_clang: &build_ubuntu1904_clang
289293
docker:
290-
- image: ethereum/solidity-buildpack-deps:ubuntu1904-clang
294+
- image: ethereum/solidity-buildpack-deps:ubuntu1904-clang-<< pipeline.parameters.docker-image-rev >>
291295
environment:
292296
CC: clang
293297
CXX: clang++
298+
CMAKE_OPTIONS: -DLLL=ON
294299
steps:
295300
- checkout
296301
- run: *run_build
@@ -299,7 +304,9 @@ jobs:
299304

300305
b_ubu: &build_ubuntu1904
301306
docker:
302-
- image: ethereum/solidity-buildpack-deps:ubuntu1904
307+
- image: ethereum/solidity-buildpack-deps:ubuntu1904-<< pipeline.parameters.docker-image-rev >>
308+
environment:
309+
CMAKE_OPTIONS: -DLLL=ON
303310
steps:
304311
- checkout
305312
- run: *run_build
@@ -310,12 +317,13 @@ jobs:
310317
<<: *build_ubuntu1904
311318
environment:
312319
FORCE_RELEASE: ON
320+
CMAKE_OPTIONS: -DLLL=ON
313321

314322
b_ubu18: &build_ubuntu1804
315323
docker:
316-
- image: ethereum/solidity-buildpack-deps:ubuntu1804
324+
- image: ethereum/solidity-buildpack-deps:ubuntu1804-<< pipeline.parameters.docker-image-rev >>
317325
environment:
318-
CMAKE_OPTIONS: -DCMAKE_CXX_FLAGS=-O2
326+
CMAKE_OPTIONS: -DCMAKE_CXX_FLAGS=-O2 -DLLL=ON
319327
CMAKE_BUILD_TYPE: RelWithDebugInfo
320328
steps:
321329
- checkout
@@ -360,7 +368,7 @@ jobs:
360368
<<: *build_ubuntu1904
361369
environment:
362370
CMAKE_BUILD_TYPE: Debug
363-
CMAKE_OPTIONS: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/cxx20.cmake -DUSE_CVC4=OFF
371+
CMAKE_OPTIONS: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/cxx20.cmake -DUSE_CVC4=OFF -DLLL=ON
364372
steps:
365373
- checkout
366374
- run: *run_build
@@ -400,6 +408,7 @@ jobs:
400408
- image: archlinux/base
401409
environment:
402410
TERM: xterm
411+
CMAKE_OPTIONS: -DLLL=ON
403412
steps:
404413
- run:
405414
name: Install build dependencies
@@ -416,6 +425,7 @@ jobs:
416425
environment:
417426
TERM: xterm
418427
CMAKE_BUILD_TYPE: Debug
428+
CMAKE_OPTIONS: -DLLL=ON
419429
steps:
420430
- checkout
421431
- restore_cache:
@@ -472,7 +482,7 @@ jobs:
472482

473483
b_ems:
474484
docker:
475-
- image: trzeci/emscripten:sdk-tag-1.38.22-64bit
485+
- image: trzeci/emscripten:sdk-tag-1.39.3-64bit
476486
environment:
477487
TERM: xterm
478488
steps:
@@ -519,7 +529,7 @@ jobs:
519529

520530
b_docs:
521531
docker:
522-
- image: ethereum/solidity-buildpack-deps:ubuntu1904
532+
- image: ethereum/solidity-buildpack-deps:ubuntu1904-<< pipeline.parameters.docker-image-rev >>
523533
steps:
524534
- checkout
525535
- run: *setup_prerelease_commit_hash
@@ -544,7 +554,7 @@ jobs:
544554

545555
t_ubu_cli: &t_ubu_cli
546556
docker:
547-
- image: ethereum/solidity-buildpack-deps:ubuntu1904
557+
- image: ethereum/solidity-buildpack-deps:ubuntu1904-<< pipeline.parameters.docker-image-rev >>
548558
environment:
549559
TERM: xterm
550560
steps:
@@ -597,7 +607,22 @@ jobs:
597607
npm --version
598608
test/solcjsTests.sh /tmp/workspace/soljson.js $(cat /tmp/workspace/version.txt)
599609
600-
t_ems_external_gnosis:
610+
t_ems_compile_ext_gnosis:
611+
docker:
612+
- image: circleci/node:10
613+
environment:
614+
TERM: xterm
615+
steps:
616+
- checkout
617+
- attach_workspace:
618+
at: /tmp/workspace
619+
- run:
620+
name: External GnosisSafe compilation
621+
command: |
622+
export COMPILE_ONLY=1
623+
test/externalTests/gnosis.sh /tmp/workspace/soljson.js || test/externalTests/gnosis.sh /tmp/workspace/soljson.js
624+
625+
t_ems_test_ext_gnosis:
601626
docker:
602627
- image: circleci/node:10
603628
environment:
@@ -613,7 +638,22 @@ jobs:
613638
- run: *gitter_notify_failure
614639
- run: *gitter_notify_success
615640

616-
t_ems_external_zeppelin:
641+
t_ems_compile_ext_zeppelin:
642+
docker:
643+
- image: circleci/node:10
644+
environment:
645+
TERM: xterm
646+
steps:
647+
- checkout
648+
- attach_workspace:
649+
at: /tmp/workspace
650+
- run:
651+
name: External Zeppelin compilation
652+
command: |
653+
export COMPILE_ONLY=1
654+
test/externalTests/zeppelin.sh /tmp/workspace/soljson.js || test/externalTests/zeppelin.sh /tmp/workspace/soljson.js
655+
656+
t_ems_test_ext_zeppelin:
617657
docker:
618658
- image: circleci/node:10
619659
environment:
@@ -629,7 +669,26 @@ jobs:
629669
- run: *gitter_notify_failure
630670
- run: *gitter_notify_success
631671

632-
t_ems_external_colony:
672+
t_ems_compile_ext_colony:
673+
docker:
674+
- image: circleci/node:10
675+
environment:
676+
TERM: xterm
677+
steps:
678+
- checkout
679+
- attach_workspace:
680+
at: /tmp/workspace
681+
- run:
682+
name: Install test dependencies
683+
command: |
684+
sudo apt-get -qy install lsof
685+
- run:
686+
name: External ColonyNetworks compilation
687+
command: |
688+
export COMPILE_ONLY=1
689+
test/externalTests/colony.sh /tmp/workspace/soljson.js || test/externalTests/colony.sh /tmp/workspace/soljson.js
690+
691+
t_ems_test_ext_colony:
633692
docker:
634693
- image: circleci/node:10
635694
environment:
@@ -693,6 +752,9 @@ workflows:
693752
# Emscripten build and selected tests
694753
- b_ems: *workflow_trigger_on_tags
695754
- t_ems_solcjs: *workflow_emscripten
755+
- t_ems_compile_ext_colony: *workflow_emscripten
756+
- t_ems_compile_ext_gnosis: *workflow_emscripten
757+
- t_ems_compile_ext_zeppelin: *workflow_emscripten
696758

697759
nightly:
698760

@@ -706,12 +768,6 @@ workflows:
706768
- develop_060
707769

708770
jobs:
709-
# Emscripten builds and external tests
710-
- b_ems: *workflow_trigger_on_tags
711-
- t_ems_external_zeppelin: *workflow_emscripten
712-
- t_ems_external_gnosis: *workflow_emscripten
713-
- t_ems_external_colony: *workflow_emscripten
714-
715771
# OSSFUZZ builds and (regression) tests
716772
- b_ubu_ossfuzz: *workflow_trigger_on_tags
717773
- t_ubu_ossfuzz: *workflow_ubuntu1904_ossfuzz

.circleci/docker/Dockerfile.clang.ubuntu1904

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ RUN git clone --recursive -b boost-1.69.0 https://github.com/boostorg/boost.git
6262
rm -rf /usr/src/boost
6363

6464
# Z3
65-
RUN git clone --depth 1 -b z3-4.8.6 https://github.com/Z3Prover/z3.git \
65+
RUN git clone --depth 1 -b z3-4.8.7 https://github.com/Z3Prover/z3.git \
6666
/usr/src/z3; \
6767
cd /usr/src/z3; \
6868
python scripts/mk_make.py --prefix=/usr ; \
@@ -89,43 +89,24 @@ RUN set -ex; \
8989
ninja install/strip; \
9090
rm -rf /usr/src/libprotobuf-mutator
9191

92-
# ETHASH
93-
RUN set -ex; \
94-
cd /usr/src; \
95-
git clone --branch="v0.4.4" https://github.com/chfast/ethash.git; \
96-
cd ethash; \
97-
mkdir build; \
98-
cd build; \
99-
cmake .. -G Ninja -DBUILD_SHARED_LIBS=ON -DETHASH_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \
100-
ninja; \
101-
ninja install/strip; \
102-
rm -rf /usr/src/ethash
103-
104-
# INTX
105-
RUN set -ex; \
106-
cd /usr/src; \
107-
git clone --branch="v0.2.0" https://github.com/chfast/intx.git; \
108-
cd intx; \
109-
mkdir build; \
110-
cd build; \
111-
cmake .. -G Ninja -DBUILD_SHARED_LIBS=ON -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \
112-
ninja; \
113-
ninja install/strip; \
114-
rm -rf /usr/src/intx;
115-
11692
# EVMONE
11793
RUN set -ex; \
11894
cd /usr/src; \
119-
git clone --branch="v0.1.0" --recurse-submodules https://github.com/ethereum/evmone.git; \
95+
git clone --branch="v0.3.0" --recurse-submodules https://github.com/ethereum/evmone.git; \
12096
cd evmone; \
12197
mkdir build; \
12298
cd build; \
99+
# isoltest links against the evmone shared library
123100
cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="/usr" ..; \
124101
ninja; \
125102
ninja install/strip; \
103+
# abiv2_proto_ossfuzz links against the evmone standalone static library
104+
cmake -G Ninja -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="/usr" ..; \
105+
ninja; \
106+
ninja install/strip; \
126107
rm -rf /usr/src/evmone
127108

128109
FROM base
129110
COPY --from=libraries /usr/lib /usr/lib
130111
COPY --from=libraries /usr/bin /usr/bin
131-
COPY --from=libraries /usr/include /usr/include
112+
COPY --from=libraries /usr/include /usr/include

.circleci/docker/Dockerfile.ubuntu1804

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -74,34 +74,10 @@ RUN set -ex; \
7474
ar r /usr/lib/libFuzzingEngine.a *.o; \
7575
rm -rf /var/lib/libfuzzer
7676

77-
# ETHASH
78-
RUN set -ex; \
79-
cd /usr/src; \
80-
git clone --branch="v0.4.4" https://github.com/chfast/ethash.git; \
81-
cd ethash; \
82-
mkdir build; \
83-
cd build; \
84-
cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DETHASH_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \
85-
ninja; \
86-
ninja install/strip; \
87-
rm -rf /usr/src/ethash
88-
89-
# INTX
90-
RUN set -ex; \
91-
cd /usr/src; \
92-
git clone --branch="v0.2.0" https://github.com/chfast/intx.git; \
93-
cd intx; \
94-
mkdir build; \
95-
cd build; \
96-
cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \
97-
ninja; \
98-
ninja install/strip; \
99-
rm -rf /usr/src/intx;
100-
10177
# EVMONE
102-
ARG EVMONE_HASH="f10d12c190f55a9d373e78b2dc0074d35d752c02cb536bb6fe754fb3719dd69e"
78+
ARG EVMONE_HASH="fa4f40daf7cf9ccbcca6c78345977e084ea2136a8eae661e4d19471be852b15b"
10379
ARG EVMONE_MAJOR="0"
104-
ARG EVMONE_MINOR="1"
80+
ARG EVMONE_MINOR="3"
10581
ARG EVMONE_MICRO="0"
10682
RUN set -ex; \
10783
EVMONE_VERSION="$EVMONE_MAJOR.$EVMONE_MINOR.$EVMONE_MICRO"; \

.circleci/docker/Dockerfile.ubuntu1904

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -74,37 +74,14 @@ RUN set -ex; \
7474
ar r /usr/lib/libFuzzingEngine.a *.o; \
7575
rm -rf /var/lib/libfuzzer
7676

77-
# ETHASH
78-
RUN set -ex; \
79-
cd /usr/src; \
80-
git clone --branch="v0.4.4" https://github.com/chfast/ethash.git; \
81-
cd ethash; \
82-
mkdir build; \
83-
cd build; \
84-
cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DETHASH_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \
85-
ninja; \
86-
ninja install/strip; \
87-
rm -rf /usr/src/ethash
88-
89-
# INTX
90-
RUN set -ex; \
91-
cd /usr/src; \
92-
git clone --branch="v0.2.0" https://github.com/chfast/intx.git; \
93-
cd intx; \
94-
mkdir build; \
95-
cd build; \
96-
cmake .. -G Ninja -DBUILD_SHARED_LIBS=OFF -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF -DCMAKE_INSTALL_PREFIX="/usr"; \
97-
ninja; \
98-
ninja install/strip; \
99-
rm -rf /usr/src/intx;
100-
10177
# EVMONE
10278
RUN set -ex; \
10379
cd /usr/src; \
104-
git clone --branch="v0.1.0" --recurse-submodules https://github.com/ethereum/evmone.git; \
80+
git clone --branch="v0.3.0" --recurse-submodules https://github.com/ethereum/evmone.git; \
10581
cd evmone; \
10682
mkdir build; \
10783
cd build; \
84+
# isoltest links against the evmone shared library
10885
cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="/usr" ..; \
10986
ninja; \
11087
ninja install/strip; \

0 commit comments

Comments
 (0)