Commit Graph

465 Commits

Author SHA1 Message Date
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