Commit Graph

587 Commits

Author SHA1 Message Date
Mathias Baumann
7eb5fd1ca9 Appveyor: Prevent git from warning on std out 2020-01-27 18:28:23 +01:00
chriseth
8f36dd1571 Fix extract tests on windows. 2020-01-23 16:36:46 +01:00
cameel
d48883ca17 Fix crashes in prepare_report.py caused by using str where bytes is expected and vice-versa
1) `Popen.communicate()` expects `bytes` (a raw, binary string) if `stdout`/`stderr` are open in binary mode but is given output from `json.loads()` which is str (an abstract unicode string). Encoding the `str` object into `bytes` using UTF-8 encoding fixes that.
2) `REPORT_FILE` gets opened in binary mode which means that functions like `write()` expect `bytes`. We're giving them `str` which results in an error. Changed mode to text solves the problem.
2020-01-20 17:33:44 +01:00
Daniel Kirchner
22466acf39 Experimental wasm rebuild scripts 2020-01-16 18:47:36 +01:00
chriseth
6ab8802601
Merge pull request #8132 from ethereum/drop-lll
Remove the LLL compiler
2020-01-15 15:15:22 +01:00
Christian Parpart
54b81b0fda python scripts: Some pylint tweaks. 2020-01-15 14:21:33 +01:00
Christian Parpart
44e892634b Use Python 3 instead of Python 2 (EOL'd) 2020-01-15 14:20:43 +01:00
Alex Beregszaszi
106ac296b9 Remove LLL from release scripts 2020-01-15 13:18:24 +00:00
chriseth
b3fe84a6ea
Merge pull request #7153 from djudjuu/newImportAST
import ast from JSON
2020-01-14 17:56:53 +01:00
djudjuu
e8556fa1b2 Ast-Import from standard-json 2020-01-14 17:15:53 +01:00
Daniel Kirchner
90e494615e Build soljson.js with embedded base64-encoded wasm binary. 2020-01-13 10:51:48 +01:00
chriseth
57c00eece8 Require specific version of g++ to make PPA happy. 2019-12-11 15:29:19 +01:00
chriseth
07d271e770 Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-10 10:07:30 +01:00
chriseth
9b4abb2b7f Change jsoncpp version everywhere. 2019-12-09 18:39:18 +01:00
Alex Beregszaszi
ac03bfc0b1 Drop solc-js backwards compatibility for 0.6
Reverts ee3a8341
2019-12-09 17:33:50 +00:00
chriseth
071a52f0ff Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-09 14:43:53 +01:00
Alex Beregszaszi
ee3a834165 Add backwards compatibility to the generated soljson.js for solc-js <0.5.14
Reverts part of edd80a9
2019-12-09 13:17:32 +00:00
chriseth
2f11ac3590 Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-03 21:17:15 +01:00
chriseth
96d777d7f1 Merge commit 'a7d481fb9' into develop_060 2019-12-03 20:47:30 +01:00
Daniel Kirchner
c9be3bdf7e Rename cmake option 2019-12-03 15:11:38 +01:00
Daniel Kirchner
e04d8955ab Update to Z3 4.8.7 and cherry-pick build fix commit 2019-12-03 14:41:02 +01:00
Daniel Kirchner
edd80a986d Update emscripten to 1.39.3 2019-11-29 12:55:02 +01:00
Daniel Kirchner
cdbaf067c7 Internal emscripten build cleanup 2019-11-29 10:21:29 +01:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
mingchuan
db60d123d0 [YulOpt] Implement loop-invariant code motion 2019-11-28 11:59:29 +01:00
Leonardo Alt
389da5228e Merge remote-tracking branch 'origin/develop' into merge_develop_060 2019-11-20 12:27:40 +01:00
chriseth
0033d63522 Run more tests on istanbul. 2019-11-19 17:09:18 +01:00
Leonardo
684ccea6f0
Merge pull request #7697 from ethereum/develop
Merge develop into develop_060
2019-11-12 15:30:34 +01:00
Bhargava Shastry
066626a3e8 Remove obsolete installation scripts that were used by the fuzzer build CI 2019-11-12 11:26:59 +01:00
Daniel Kirchner
8148619d5b Merge branch 'develop' into develop_060 2019-11-12 10:32:41 +01:00
Mathias Baumann
e35a23bbcc Add `switch (..) to style checker 2019-11-11 17:44:21 +01:00
Mathias Baumann
e643c4ca28 Add `while (..) to style checker 2019-11-11 17:28:41 +01:00
Daniel Kirchner
b3174db322 Update PPA build script for Z3 to version 4.8.6. And add eoan to Z3 and release PPA script. 2019-11-11 14:55:00 +01:00
chriseth
21e65076b3
Merge pull request #7650 from ethereum/develop
Merge develop into develop_060
2019-11-06 21:56:55 +01:00
Chris Chinchilla
c9a56d5339 Remove macOS flag 2019-11-05 17:02:37 +01:00
chriseth
07c67b98f6 Merge remote-tracking branch 'origin/develop' into HEAD 2019-10-28 12:12:52 +01:00
Erik Kundt
ec53899a10 Fixes source extraction from docs. 2019-10-23 22:13:24 +02:00
Mathias L. Baumann
7e01696030
Merge pull request #7554 from ethereum/develop
Merge develop into develop_060
2019-10-21 17:05:12 +02:00
kcy1019
547cd2eb71 Remove dependency on boost::regex from Whiskers 2019-10-16 21:26:49 +09:00
chriseth
9719d28526
Merge pull request #7475 from ethereum/move-solcjs-tests
Migrate solc-js tests
2019-10-16 12:35:09 +02:00
Gaith Hallak
9d34d7de2f Remove trailing spaces from JSON output 2019-10-02 18:01:47 +03:00
Erik Kundt
8adde5abbe Migrates solc-js test to ext. test infrastructure.
solc-js commit: 9d9de6338729cf5fbd62f479d54b7097e8a7e395
2019-09-25 16:03:08 +02:00
Daniel Kirchner
c72d1ffb65
Merge pull request #7421 from ethereum/develop
Merge develop into develop_060
2019-09-13 12:14:02 +02:00
Erik Kundt
ad5fe2bf45 Fixes codespell. 2019-09-12 22:15:03 +02:00
chriseth
acf10ef60f
Merge pull request #7393 from ethereum/develop
Merge develop into 0.6.0
2019-09-10 12:27:02 +02:00
Daniel Kirchner
998f7de2c8 Change command line test from --ast to --ast-json. 2019-09-06 13:46:18 +02:00
Crawford Leeds
4138fc4b59 add support for macOS Catalina in scripts/install_deps.sh 2019-09-05 21:20:02 -06:00
Daniel Kirchner
ef407ea896 Try to fix appveyor run by chaning bytecode pull output from stderr to stdout. 2019-09-04 10:57:01 +02:00
Christian Parpart
e91c6acbc3 Defaulting to C++17 for building. 2019-08-13 16:19:18 +02:00
Daniel Kirchner
bd105ad4b1 Experimental static Z3 PPA script. 2019-08-13 16:19:18 +02:00
Mathias Baumann
30373d5719 Test scripts: Make build dir a variable 2019-08-13 12:44:29 +02:00
Daniel Kirchner
2f48bd6fb9 Remove ubuntu cosmic (EOL July 18, 2019) from release script. 2019-08-12 11:36:48 +02:00
chriseth
77212627fb Remove traces of aleth and IPC. 2019-08-08 17:35:46 +02:00
rocky
7fd7cc1e76 Produce AST even when there are parser errors 2019-08-07 15:25:53 +02:00
Chris Chinchilla
85ec44826a Add style checker
Rename files

Changes from review

Update test/docsCodeStyle.sh

Co-Authored-By: chriseth <chris@ethereum.org>
Update test/docsCodeStyle.sh

Co-Authored-By: chriseth <chris@ethereum.org>
Remove extraneous brackets
2019-08-05 13:00:30 +02:00
Christian Parpart
cb5df90251
Change the way release_ppa.sh treats branches.
Only release branch is treated release branch,
and everything else is treated a development branch.
2019-07-22 14:49:30 +02:00
Christian Parpart
7b3aba81fb Adds a test to check_style.sh to check for spaces before colon (:) in range based for loops. 2019-06-24 17:32:58 +02:00
Christian Parpart
b58170f890
Refactor & Speedups on CircleCI; split out out codecov into dedicated tests. 2019-06-21 20:26:10 +02:00
Leonardo Alt
c3ccce9745 Fix run_proofs script to actually run proofs 2019-06-20 15:58:10 +02:00
Leonardo Alt
51ba7f5f17 Add CI job for optimization proofs 2019-06-19 22:29:23 +02:00
Daniel Kirchner
cb9c35f883 Define imported targets manually, if not provided by find_package(Boost). 2019-06-06 21:03:33 +02:00
Daniel Kirchner
2ec45797b2 Update boost to 1.70 for emscripten and cache a proper installation. 2019-06-06 18:49:34 +02:00
Bhargava Shastry
a52e1f4130 Install evmone and its dependencies 2019-05-28 10:58:03 +02:00
Mathias Baumann
ed5c77e9a8 Completely fix spelling 2019-05-21 11:57:16 +02:00
Mathias Baumann
cbf81b123a Fix new found spelling mistakes and add exceptions 2019-05-21 10:59:34 +02:00
chriseth
7ab8cc60c9
Merge pull request #6556 from ethereum/wasmCodeTransform
Prototype for Wasm code transform
2019-05-07 17:48:48 +02:00
Mathias Baumann
d8873f52df Update to aleth v1.6.0 2019-05-07 16:03:53 +02:00
chriseth
c3705f268c Add global variables and support multi-return and multi-assignment. 2019-05-02 18:37:13 +02:00
Bhargava Shastry
9b56bd1db4 Run all tests and summarize failures, add new fuzzers to artifact 2019-04-30 17:00:33 +02:00
Bhargava Shastry
a48c762513 Print dots in background to prevent circle CI from reporting a timeout because nothing was flushed to stdout in over 10 minutes 2019-04-29 11:14:16 +02:00
Bhargava Shastry
91d9e52d7d Fix log parsing error 2019-04-26 11:47:46 +02:00
Bhargava Shastry
98815fb98a Updated script to treat libFuzzer errors as failures 2019-04-24 19:52:47 +02:00
chriseth
4312f6ec23
Merge pull request #6475 from ethereum/ossfuzz-regression-ci
ossfuzz regression ci
2019-04-19 00:44:05 +02:00
rocky
b06b996461 soltest.sh, EthOptions.cmake, and CODING_STYLE.md tweaks
solidity.sh:
  * introduce SOLIDITY_BUILD_DIR env var for soltest.sh,
  * add --help output

EthOptions.cmake: more complete configuration information

CODING_STYLE.md: note existence of .editorconfig
contributing.rst: note that tests are Boost C++ unit tests
2019-04-18 07:53:28 -04:00
Bhargava Shastry
33ccc19619 Add a nightly run for ossfuzz regression tests 2019-04-17 15:31:40 +02:00
Daniel Kirchner
4e6ffc744d Update aleth to version 1.6.0-rc.1. 2019-04-12 16:11:41 +02:00
Mathias Baumann
977c7d333e Disable aleth log output again on the CI 2019-04-04 16:39:15 +02:00
Mathias Baumann
1466cbaa0c Log more lines from aleth 2019-04-04 16:39:15 +02:00
chriseth
c0ce540e26 Run tests with both ABIV2 and Yul optimizer. 2019-04-04 13:18:30 +02:00
chriseth
8942c5acfb
Merge pull request #6394 from ethereum/yet-more-info
Log aleth output upon test failure
2019-04-03 13:17:27 +02:00
Mathias Baumann
9633b285ab Log aleth output upon failure 2019-04-03 12:43:15 +02:00
Mathias Baumann
4c24cce386 Replace tab with spaces in test.sh 2019-04-03 10:59:36 +02:00
Bhargava Shastry
0d2566fa71 Add CI to build ossfuzz fuzzer binaries 2019-04-03 10:27:05 +02:00
Mathias Baumann
bddef01fdd Decrease xml test log size 2019-04-01 12:38:29 +02:00
Erik Kundt
470c161e50 Fixes boost repository URL in CentOS install script. 2019-03-13 19:55:36 +01:00
Erik Kundt
b907e550b2 Passes the docker password in Travis via stdin. 2019-03-05 11:29:46 +01:00
chriseth
19761a08fa Update bytecode output to cope with metadata-only compilability. 2019-03-04 17:38:45 +01:00
Alex Beregszaszi
ecd246aeb6 Support petersburg in evmVersion 2019-03-04 14:10:41 +01:00
Mathias Baumann
98b7dc2881 Change emscripten default build dir to "emscriptenBuild"
Avoids complications with local build directory when building.
2019-02-27 12:30:15 +01:00
chriseth
bde25a06c2 Simplify emscripten build script 2019-02-25 14:20:37 +01:00
Alex Beregszaszi
5bbd65c5ca Run constantinople in regular and in force-abiv2 mode. 2019-02-20 16:55:19 +01:00
Daniel Kirchner
0408130338
Merge pull request #6003 from ethereum/moreStyleChecks
Even more style checks.
2019-02-15 11:52:32 +01:00
Daniel Kirchner
794e519af8 Update aleth version to 1.5.2. 2019-02-14 12:45:06 +01:00
Daniel Kirchner
8d7ccff1c0 Improve style of style check script. 2019-02-14 11:54:52 +01:00
Daniel Kirchner
809b9a95f9 Even more style checks. 2019-02-14 11:53:00 +01:00
Daniel Kirchner
8ca6715e18 More style checks. 2019-02-14 11:41:20 +01:00
chriseth
dbb5438fed Add coding style check for "const" position and spaces/tabs. 2019-02-13 16:34:49 +01:00
chriseth
5c50e8fa99 Switch from Z3 to CVC4 as SMT solver for Ubuntu PPA. 2019-02-06 15:48:07 +01:00
Daniel Kirchner
027e1781d3 Install static boost on Alpine linux. 2019-02-04 13:13:34 +01:00
chriseth
8c4c581eed Add disco. 2019-01-22 22:26:38 +01:00
chriseth
0a3beb72f2 Some improvements to the ppa release script. 2019-01-22 18:22:54 +01:00
chriseth
4c9bbd85e6 Patch soljson.js to provide backwards compatibility with older emscripten versions. 2019-01-21 15:33:36 +01:00
Alex Beregszaszi
a582f0bec1 Update to emscripten 1.38.22 2019-01-18 16:49:21 +00:00
Daniel Kirchner
5baac8470b Use emscripten 1.38.8 on both travis and circle. 2019-01-17 18:31:34 +01:00
Christian Parpart
b7eaa4f8d3
Ensuring we use at least boost 1.65, build static on Xenial, and adapt CircleCI accordingly. 2019-01-14 16:10:26 +01:00
chriseth
c00c0690e8
Merge pull request #5738 from ethereum/emscriptenBoost168
Update to boost 1.68 for emscripten builds.
2019-01-07 14:34:23 +01:00
Daniel Kirchner
17e781f8d2 Change uid and gid for source tarball to 0:0. 2019-01-07 13:56:50 +01:00
Daniel Kirchner
c265bc4c0d Update to boost 1.68 for emscripten builds. 2019-01-07 13:30:49 +01:00
Alex Beregszaszi
aca9e58145
Merge pull request #5703 from ethereum/srcTarball
Remove real username from source tarballs.
2019-01-07 11:35:52 +00:00
Asher
3d64b0b0ec
Update install_deps.sh
In install_deps.sh, line 59 (sed -n -e 's/^NAME="?([^"])"?$/\1/p' /etc/os-release) will get CentOS Linux instead of CentOS, so it cant match CentOS.
I suggest that in line 355, can modified " CentOS)" to " CentOS*)"
2019-01-03 10:05:08 +08:00
chriseth
687558f046 Remove real username from source tarballs. 2018-12-20 07:23:08 +01:00
Paweł Bylica
b57a36ddae CMake: Use toolchain files 2018-12-19 12:32:15 +00:00
chriseth
7b1a6798e6 Remove support for Visual Studio 2015. 2018-12-17 18:56:23 +01:00
chriseth
02a8e5d4e9 Update to use memorydb for aleth. 2018-12-13 12:07:32 +01:00
chriseth
e85c3428b4
Merge pull request #5634 from ethereum/staticPPA
Replace trusty PPA build by static PPA build.
2018-12-12 18:43:08 +01:00
chriseth
17bf164afe
Merge pull request #4951 from ethereum/alethUpdates
Use current aleth release for testing.
2018-12-12 18:41:35 +01:00
Daniel Kirchner
60d7cc6049 Replace trusty PPA build by static PPA build. 2018-12-12 17:05:59 +01:00
Christian Parpart
5b86e3ec50 Enables C++14 standard (was C++11) within the Solidity compiler project. 2018-12-11 21:28:05 +01:00
Daniel Kirchner
6d82ad1338 Test updates for recent versions of aleth. 2018-12-11 04:47:05 +01:00
Christian Parpart
a3829516f0 build.sh bash script cleanup
* use `set -e` to abort script execution when error codes fail (and haven't been checked)
* use [[ ]] instead of [ ] or test.
* use ROOTDIR/BUILDDIR variables for better readability
* use mktemp in order to avoid accidental name clashes.
* use `make install` instead of `install ...` as cleaner installation process
  * this however doesn't install soltest anymore, which I believe is
    right, as normal users should not need it installed in their system.
    Those who want to run the test suite, can do so manually
* allow optional passing of more additional custom args to cmake
2018-12-10 14:59:55 +01:00
chriseth
8d9fa0f4fa Fix manual deploy script for alpine. 2018-12-05 12:03:28 +01:00
chriseth
6b11ef1887
Merge pull request #5513 from corollari/fedora-fix
Detect Fedora properly in install_deps.sh
2018-11-29 14:04:54 +01:00
Albert
87f9834381 Fix #5512
Make the double quotes around the distro name optional so it matches properly in Fedora (`NAME=Fedora`)
2018-11-28 23:18:44 +01:00
Justin Wilson
16d1bf3335 Builds both scratch & Alpine Docker images
- Adds `Dockerfile_alpine`, which copies the complier from the scratch
   step into an Alpine image
 - Updates `docker_build.sh` to build the Alpine image
 - Updates `docker_deploy.sh` to tag and push the Alpine images
 - Updates `docker_deploy_manual.sh` to tag and push the Alpine images

The tags that are pushed follow:

 - Scratch
    - ethereum/solc:stable
    - ethereum/solc:0.5.1
    - ethereum/solc:nightly
    - ethereum/solc:nightly-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
    - ethereum/solc:nightly-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
 - Alpine
    - ethereum/solc:stable-alpine
    - ethereum/solc:0.5.1-alpine
    - ethereum/solc:nightly-alpine
    - ethereum/solc:nightly-alpine-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
    - ethereum/solc:nightly-alpine-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
2018-11-27 13:45:59 -07:00
Chris Purta
5c67821af4 Script that directly comments errors to the github pull request. 2018-11-26 15:43:17 +01:00
chriseth
3672506de9 Fix bytecode report file. 2018-11-22 21:03:24 +01:00
Alex Beregszaszi
780990516b Fix storebytecode.sh for bytecode comparison 2018-11-22 15:27:38 +00:00
Daniel Kirchner
119aa107da Use emscripten 1.37.21 and boost 1.67.0 on both travis and circle. 2018-11-21 15:24:20 +01:00
chriseth
6ed3765941 Fix bytecode tests for solc-js 2018-11-13 13:57:31 +00:00
chriseth
28d98d61ef Use latest solcjs and replace compileStandard by compile. 2018-11-13 13:54:01 +00:00
chriseth
5256da03db Fix check style script. 2018-11-12 22:57:32 +01:00
chriseth
199a994e28 Update ubuntu versions. 2018-10-30 15:57:14 +01:00
mordax
40b9b52872 Remove another mention 2018-10-13 21:35:09 -04:00
chriseth
d76bfcd935 Fix typos. 2018-10-04 13:28:16 +02:00
chriseth
658bef5a38
Merge pull request #5115 from mestorlx/cleancircleci
removed stray (B in CI test output
2018-10-01 13:18:55 +02:00
Martin Diz
25f3565340 removed stray (B in CI test output 2018-09-28 19:27:55 -03:00
Chris Ward
d9b7fd1347 Add Mojave to dependencies script
Add changelog entry

Moved changelog item

Updates from review
2018-09-27 12:06:41 +03:00
liangdzou
982d883a88 enhance test_trailing_whitespace to test_check_style: several format rules for if/for are introduced 2018-09-20 21:31:16 +08:00
Daniel Kirchner
69673f5a4b Include origin filename in the filenames generated by isolate_tests.py. 2018-09-06 18:03:38 +02:00
chriseth
8da1f25030
Merge pull request #4897 from ethereum/trailingWhitespaceDetection
Trailing whitespace detection script and circleci job.
2018-09-04 18:20:57 +02:00
Daniel Kirchner
1ae6ec9038 Remove trailing whitespace. 2018-09-04 17:43:04 +02:00
Daniel Kirchner
1cd96b2dc4 Trailing whitespace detection script and circleci job. 2018-09-04 17:36:47 +02:00
Daniel Kirchner
9695d7b38d Use wildcards for MSVC version in scripts/release.bat. 2018-09-04 16:35:25 +02:00
Daniel Kirchner
b4a02522a4 Update generation of bugs_by_version.json. 2018-09-04 11:30:30 +02:00
Daniel Kirchner
a102f3b783 Remove trailing whitespace for all files in the repository. 2018-09-04 11:30:30 +02:00
chriseth
6a5a187d83 Also extract tests that do not start with a pragma. 2018-08-14 15:50:46 +02:00
chriseth
f873389c62 Test that documentation does not contain any warnings. 2018-08-14 15:50:46 +02:00
Christian Parpart
594102de6b
fixes tests.sh to not use hard-coded working dir and adds proper cleanup
* Implicitely also allows concurrent runs.
* Properly cleanup of any working files created during runtime.
* Properly cleanup upon singals.
* Allow early-abort during cmdline tests without leaking processes.
2018-08-01 10:25:24 +02:00
Alex Beregszaszi
4bd22399da Keep the proper aleth hash in contributing.rst 2018-07-18 10:20:18 +02:00
Cryptomental
d454cec1bd circleci: Integrate codespell.
Run codespell against documentation and during Linux test run.
Use codespell_whitelist.txt dictionary to whitelist words that
should not be considered as misspelled.

Currently whitelist "iff" and "nd".

Refs: #4442
2018-07-10 22:57:50 +02:00
chriseth
f6edb7fb8f
Merge pull request #4434 from mattaereal/patch-4
Update isolate_tests.py
2018-07-09 22:47:34 +02:00
Matías A. Ré Medina
5640eba382 Update isolate_tests to use simple quotes consistently.
The previous code had double quotes and the project uses simple quotes.
2018-07-09 11:28:34 +01:00
Matías A. Ré Medina
1ebeb7e588 Change isolate_tests to support single files as an input
On the documentation the examples for the usage of isolate_tests.py are shown with single files, and it's currently not working. It only works for folders or wildcards that return more than one file, since that's how os.walk works within a loop for that cases.

Proposed an simple and easy fix.

I extracted the core functionality for extracting tests from files, and made another function called `extract_and_write`
If the program receives a single file the function `extract_and_write` is called once, it even works for `docs` when specified.
If the program receives a path or a wildcard, works as used to.
2018-07-09 11:28:09 +01:00
Alex Beregszaszi
273be204b6 Rename eth to aleth in testing scripts 2018-07-09 11:10:39 +01:00
Alex Beregszaszi
8b8565c873 Simplify code regarding eth in tests.sh 2018-07-09 11:08:36 +01:00
chriseth
0e12903094 Pull before pushing to bytecode (as on *ix). 2018-07-05 12:18:43 +02:00
ajs
260e044db5 Avoid hanging in tests.sh when IPC program is not found 2018-07-02 22:23:49 -03:00
Alex Beregszaszi
d072cc6236 Update aleth for testing 2018-07-02 11:34:52 +02:00
ajs
fee4932906 Support Manjaro Linux distributions in dependencies script 2018-06-28 18:13:15 -03:00
Christian Parpart
37b5669ec3 make build concurrency build-time customizable 2018-06-26 12:13:03 +02:00
Christian Parpart
7546100776 Dockerfile: improves docker image size and small others
This greatly improves size of the final docker image with the help of
multi-stage docker builds.

With that change, we can also make the build stage readable/maintainable
again by splitting up into multiple RUN statements as well as not
needing to clean-up temporary objects.

The dependencies have been put on top of the primary COPY statement
in order to not rebuild the dependencies each time one wants to rebuild
the docker image (for example due to code changes).

The solc compilation itself is now parallelized to the CPU core count
to speed up those builds that have more cores available on their docker
build system.

Future Notes:
-------------

We could further improve the Dockerfile by explicitely adding the
directories this docker build is interested in (such as solc source code
exclusively).

Or one may want to also use the build step for automated testing (CI)
by enforcing soltest and cmdlineTests.sh right before finalizing the image.
2018-06-26 12:12:35 +02:00
chriseth
166a9e08e7 Use new PGP key and retire old ubuntu releases. 2018-06-21 20:29:16 +02:00
Leonardo Alt
e0d6050ca8 Use correct python version for the upgrade_bugs_by_version script 2018-06-18 13:55:01 +02:00
Daniel Kirchner
09c3317bd8 Correctly choose python version for scripts requiring python2. 2018-06-15 16:29:42 +02:00
bitshift
83ae2abad7 Updates Windows release to VS 2017 15.7.3 2018-06-11 11:53:03 +02:00
chriseth
7778eaf03a
Merge pull request #4073 from alibabe/fix-jsoncpp-install
Install a different jsoncpp version on cirleci to ensure compilation never clashes with the internal one
2018-05-28 22:06:14 +02:00
chriseth
b686fbbb32
Merge pull request #4180 from veox/use-pip-solidity-lexer
docs: Use Solidity lexer from PyPI, instead of a local module
2018-05-28 17:41:35 +02:00
Tim Holland
27adb6d6ad Supply git as an alpine linux dependency
Otherwise, the docker build will fail complaining about not knowing a
commit hash to label the version with.
2018-05-23 11:53:11 -04:00
Noel Maersk
9f9bae7ce1 docs: install requirements as part of doc-build script. 2018-05-23 17:10:29 +03:00
alibabe
54f83acee9 Install a different jsoncpp version on cirleci to ensure compilation never clashes with the internal one
by progamatically installing jsoncpp to ensure the verison is alway 1.7.4
2018-05-21 03:04:54 +00:00
Julius Huelsmann
4690f837e0 Fix install_deps.sh script for Arch Linux.
Also added cvc4 as dependency.
2018-05-17 14:39:12 +02:00
chriseth
0a63bc177b
Merge pull request #4052 from kylewu/vs-2017-build
run both vs 2015 and vs 2017 in appveyor
2018-05-08 10:33:16 +02:00
GuessWho
212956fa05 run both vs 2015 and vs 2017 in appveyor 2018-05-02 23:15:03 +02:00
Erik Kundt
743a714f21 Adds CircleCI config for macOS.
Does not run ipc and smt tests.
2018-05-01 03:23:07 +02:00
Alexander Arlt
a49dac8057 Install & use cmake provided by scripts/install_cmake.sh for emscripten 2018-04-23 11:10:39 +01:00
Alexander Arlt
0b49fd3493 CMake: Update jsoncpp to v1.8.4 2018-04-23 11:10:39 +01:00
chriseth
a79c9a1dfe Prepare 0.4.23 release. 2018-04-19 17:21:34 +02:00
chriseth
64043ef970 Support ubuntu bionic source builds. 2018-04-18 17:15:26 +02:00
chriseth
08b0ed4116
Merge pull request #3905 from ethereum/reportCmdline
Report failed commandline tests.
2018-04-17 10:36:13 +02:00
chriseth
797ce727bb Report failed commandline tests. 2018-04-17 08:53:52 +02:00
chriseth
6a747ed229 Support bionic. 2018-04-17 07:56:10 +02:00
chriseth
759928524f Show progress on travis. 2018-04-16 22:12:30 +02:00
Alex Beregszaszi
4450034174 Run tests in constantinople mode too 2018-04-10 15:29:55 +01:00
chriseth
9bd49516d8
Merge pull request #3833 from ethereum/newEthBinaries
Use new eth binaries.
2018-04-06 11:59:27 +02:00
chriseth
3c64313e91 Use new eth binaries. 2018-04-05 19:00:44 +02:00
chriseth
6a2c30e4ff Fix trusty build script for eth. 2018-04-05 17:45:25 +02:00
chriseth
fa92380af0 Add scripts to build the eth binary via docker. 2018-04-04 12:26:34 +02:00
chriseth
6589555790 Test extraction tool. 2018-03-16 00:47:32 +01:00
Daniel Kirchner
7fa892eca9 Add interactive test tool isoltest. 2018-03-15 16:23:49 +01:00
Daniel Kirchner
c032a7ded1 Add soltest.sh script that invokes soltest with the correct --testpath. 2018-03-13 16:57:09 +01:00
Daniel Kirchner
49eaf7c3fd Infrastructure for extracting syntax tests in separate test files. 2018-03-13 11:20:11 +01:00
Daniel Kirchner
121f87b043 Move test tools to the subdirectory test/tools and adjust CMakeLists.txt. 2018-03-12 18:40:20 +01:00
chriseth
e3bd3020d1 Use new eth binary for trusty. 2018-03-06 14:16:51 +01:00
chriseth
7f8e573339 Abort on the first failed end-to-end run. 2018-03-01 17:19:35 +01:00
Alex Beregszaszi
7171ac0124 Simplify error handling in tests.sh 2018-03-01 17:19:35 +01:00
chriseth
f2f61f1c2f Test both EVM versions. 2018-03-01 17:19:35 +01:00
Paweł Bylica
9a8b0d5726 Fix install_deps.sh for Debian without lsb_release 2018-02-27 14:34:57 +01:00
chriseth
6a83beaab5 Run tests in parallel on circle. 2018-02-27 12:08:27 +01:00
chriseth
b80baa8002 Run EndToEnd tests on circle, too. 2018-02-23 13:13:48 +01:00
chriseth
ca0e323f9f Fix PPA script. 2018-02-14 16:45:00 +01:00
Matthew Halpern
da36c82a0a Allow lllc to be installed 2018-02-13 10:20:43 +00:00
chriseth
937f16afef Handle version for solcjs tests. 2018-02-09 18:24:12 +01:00
chriseth
981ff308ec Split solcjs and external tests. 2018-02-09 18:24:12 +01:00
chriseth
7dd99a62c5 Try something else. 2018-02-08 15:26:23 +01:00
chriseth
c9a032a1e2 Larger stack for nodejs when building via emscripten. 2018-02-07 20:27:16 +01:00
William Entriken
a8e7637faa
Support macOS High Sierra for install_deps script 2018-01-23 21:33:22 -05:00
chriseth
eba46a65fc
Merge pull request #3313 from terasum/develop
Update GPG key URL for Centos install
2018-01-19 17:55:42 +01:00
Manus
1208fdb60f Made install_deps.sh safe to use on Arch Linux 2018-01-17 09:36:52 +01:00
ChenQuan
42cc3915fe Update GPG key URL for the Centos installer script 2018-01-04 12:27:29 +00:00
chriseth
c5318cce09 Add artful to releases. 2017-12-28 19:00:12 +01:00
mekkanik
241ad1ae39 Changes to support Linux Mint: a derivative of Ubuntu. 2017-12-20 13:27:40 +05:30
Alex Beregszaszi
1734d44561 Rename jsonCompiler to libsolc 2017-12-11 12:49:08 +00:00
Yuriy Kashnikov
4634ce825b Review fixes 2017-12-06 21:14:54 +07:00
Yuriy Kashnikov
2d6fe522a6 Handle git release tag properly
Build process will check current commit and if it is tagged
starting with a `v` then it will create `prerelease.txt` file in
the top directory.
2017-12-06 15:58:24 +07:00
chriseth
f8ef68be18 Manual deploy to docker. 2017-12-01 15:18:39 +01:00
Guanqun Lu
664f33afe0 Update the script for Ubuntu Artful 17.10 2017-11-11 03:01:33 +08:00
chriseth
e247524bd5 Merge pull request #3090 from ethereum/noprepublish
Disable prepublish script in test.
2017-10-18 11:30:56 +02:00
chriseth
9d5c96ebdd Use config explicitly 2017-10-17 19:10:31 +02:00
chriseth
0d6e6cc8f2 Quiet wget. 2017-10-17 09:58:03 +02:00
chriseth
9cab34292c Use new eth binary. 2017-10-17 09:49:49 +02:00
chriseth
09ff9282df Disable prepublish script in test. 2017-10-16 22:18:12 +02:00
Gianfranco Cecconi
e19843d9aa Added boost-static to Fedora dependencies
This fixes potential _cmake_ stage of the build, as documented here https://github.com/ethereum/solidity/issues/3071#issuecomment-336477742 .
2017-10-13 16:01:59 +01:00
chriseth
f6fb7d96d3 Merge pull request #2990 from ethereum/someMoreSMTStuff
Basic SMT tests.
2017-10-04 14:56:24 +02:00
chriseth
e952946b22 Use byzantium version of eth. 2017-10-03 10:45:00 +01:00
chriseth
3be37d15e0 Install libz3-dev from PPA if the distribution does not provide it. 2017-09-29 15:31:00 +02:00
Paweł Bylica
b9e4d5b6c8
Windows: Copy install_deps.cmake from cpp-dependencies repo 2017-09-19 20:55:47 +02:00
Paweł Bylica
48e0e3b97f
Circle CI: Emscripten build 2017-09-15 16:06:05 +02:00
Paweł Bylica
622a2d8251
Travis CI: Fix Emscripten build 2017-09-12 22:11:21 +02:00
chriseth
47b08fa752 Merge pull request #2765 from ethereum/emscripten
Emscripten
2017-08-25 17:38:23 +02:00
chriseth
a5ce02d333 Leave artifact also on root. 2017-08-25 15:44:03 +02:00
Paweł Bylica
6e9f93e043 Emscripten, CI: Use CMake toolchain file 2017-08-25 15:43:00 +02:00
Paweł Bylica
e088f48c55 Travis CI: Cleanup emscripten build script 2017-08-25 15:43:00 +02:00
chriseth
b79401b165 Do not include soltest and .so files in zip archives. 2017-08-25 14:46:50 +02:00
chriseth
6dd7f6284b Require libz3-dev for ubuntu PPA builds. 2017-08-24 12:04:50 +02:00
Alex Beregszaszi
957f23a9f4 Merge pull request #2538 from ethereum/z3Conditions
z3 conditions
2017-08-24 00:27:09 +01:00
Alex Beregszaszi
a0d515c1a7 Keep REPO_ROOT as absolute path 2017-08-23 23:07:18 +01:00
chriseth
e8d1658b58 Add external tests. 2017-08-23 21:11:03 +01:00
chriseth
cf5e1d6120 Review changes. 2017-08-23 17:37:35 +02:00
chriseth
c9cf24458b Prepare build system for Z3. 2017-08-23 17:37:35 +02:00
Paweł Bylica
4974ff3962
CMake: Add option to static link solc 2017-08-22 22:50:25 +02:00
chriseth
a8d78bb767 Refactor compilation tests. 2017-07-13 21:47:29 +02:00
chriseth
d3b447c203 Ignore the docs build directory. 2017-07-13 21:47:29 +02:00
Alex Beregszaszi
32a76f15e0 Upgrade isolate_tests.py to support extracting code from docs 2017-07-13 17:10:37 +02:00
chriseth
ac84b36144 Added various contracts for testing. 2017-07-05 12:39:55 +02:00
chriseth
90ada403dd Merge pull request #2515 from ethereum/ubuntuRelease
Some fixes for the PPA release scripts.
2017-07-04 19:21:38 +02:00
chriseth
758ad3594d Some fixes for the PPA release scripts. 2017-07-04 12:12:37 +02:00
chriseth
066e995bbd Only push to bytecode repository if there is something to push. 2017-07-03 18:25:37 +02:00
chriseth
76d3b7c5a1 Merge pull request #2510 from ethereum/develop
Version 0.4.12
2017-07-03 14:52:29 +02:00
Alex Beregszaszi
f13feed7f2 Add script to retrieve version 2017-07-01 11:25:02 +01:00
Alex Beregszaszi
b0e4555db3 Read version from CMakeLists in test_emscripten 2017-07-01 11:22:54 +01:00