Commit Graph

444 Commits

Author SHA1 Message Date
chriseth
113ecbdeb3
Merge pull request #12408 from sbillig/fix-mac-build
Update circleci mac xcode version to 13.2
2021-12-20 18:49:22 +01:00
chriseth
8da9239c83
Merge pull request #12396 from ethereum/ext-tests-via-ir
External tests via IR
2021-12-20 18:13:02 +01:00
Sean Billig
4819d010a8 Update circleci mac xcode version to 13.2 2021-12-16 20:26:14 -08:00
Christian Parpart
927b24df1f Initial implementation of Language Server 2021-12-16 17:52:49 +01:00
Kamil Śliwak
3ec05d02b5 externalTests: Add extra viaIR runs 2021-12-14 13:19:54 +01:00
chriseth
2f90f2e873
Merge pull request #12387 from ethereum/ci-adjust-parallelism
[CI] Adjust job parallelism to actually match available resources
2021-12-13 12:44:19 +01:00
Kamil Śliwak
e6179d5356 CI: Run t_ems_test_ext_colony on nodejs 14
- Otherwise it seems to require python, which is not available in CI. We could install it but we'll probably run into other issues on latest node and the switch to latest was not intentional anyway.
2021-12-13 12:08:05 +01:00
Kamil Śliwak
3649103e42 Switch most external tests to use native compiler built by b_ubu_static 2021-12-10 17:43:57 +01:00
Kamil Śliwak
f5830c4516 CI: Extend t_ems job to allow using both emscripten and native binaries 2021-12-10 17:43:57 +01:00
Kamil Śliwak
eb8e304b47 externalTests: Add support for using a native binary 2021-12-10 17:43:57 +01:00
Kamil Śliwak
af02678dee CI: Adjust job parallelism to actually match available resources
- Some jobs don't actually run in parallel but have the `parallelism` setting enabled.
- `soltest_all` could be parallelized much more.
2021-12-09 15:10:52 +01:00
Kamil Śliwak
b96d238c23 CI: Double the number of threads for jobs that did slow down after switching to a smaller resource class 2021-12-03 12:34:18 +01:00
Kamil Śliwak
075d7b6152 CI: Remove separate compile-only runs for external tests that execute quickly 2021-12-03 12:33:34 +01:00
Kamil Śliwak
0cece8e6e7 CI: Optimize machine sizes for best speed/cost ratio 2021-12-03 12:32:40 +01:00
Kamil Śliwak
c04fca7c2d
Merge pull request #12192 from ethereum/hardhat-in-oz-ext-test
Use Hardhat and the right binary for OpenZeppelin external tests
2021-11-30 16:17:28 +01:00
Kamil Śliwak
9f59d1746b Fix OpenZeppelin external tests to actually use Hardhat and the binary built in CI 2021-11-25 21:34:53 +01:00
Kamil Śliwak
674b1ecf3f CI: Change the default node version in t_ems_ext from 14 to latest 2021-11-25 21:34:53 +01:00
Kamil Śliwak
26ac84300e CI: Extract workflow name without jq 2021-11-25 21:33:56 +01:00
Leo Alt
6cff73af71 update osx z3 hash 2021-11-24 20:41:22 +01:00
Leo Alt
406b1fbcec bump docker hashes and z3 version 2021-11-24 20:41:22 +01:00
Kamil Śliwak
00fb719d03 CI: Don't use # in gitter notifications 2021-11-23 16:41:22 +01:00
Kamil Śliwak
4e6b5205ac CI: Include workflow name instead of hard-coded "nightly" in gitter notifications 2021-11-23 16:40:54 +01:00
Kamil Śliwak
2aeeef83f2
Merge pull request #12214 from ethereum/parallelize-external-tests
Parallelize external tests
2021-11-18 17:27:57 +01:00
Kamil Śliwak
cbb3e07480
Merge pull request #12141 from ethereum/via-ir-equivalence-tests
Tests for the equivalence of one- and two-stage compilation via IR
2021-11-18 15:17:44 +01:00
Kamil Śliwak
e2e393495e Install diffutils on macOS to get diff with color support 2021-11-10 18:12:06 +01:00
Kamil Śliwak
0ec3f523bd CI: Workaround for $CIRCLE_PULL_REQUEST pointing at random PRs in runs outside of PRs 2021-11-10 17:05:23 +01:00
Kamil Śliwak
834f9d3a6e Parallelize external test runs on CircleCI 2021-11-09 16:57:37 +01:00
Kamil Śliwak
fbc48e3029 Extract helpers for managing steps in parallelized CircleCI jobs from soltest_all.sh 2021-11-09 16:57:37 +01:00
Kamil Śliwak
205e05b8f1 CI: Add gitter failure notifications to all jobs 2021-11-08 17:59:19 +01:00
Kamil Śliwak
75fd7fa93e CI: Modify notification steps to be silent in PRs 2021-11-08 17:59:19 +01:00
Daniel Kirchner
a7688a0eaf Update emscripten to version 2.0.33. 2021-11-04 19:24:12 +01:00
Kamil Śliwak
c76a8a738d CI: Tweak some job names to better reflect what they run 2021-11-03 12:54:56 +01:00
Kamil Śliwak
9c96234724 CI: Define a base_ dict for every image and set default values for some env variables there 2021-11-03 12:54:56 +01:00
Kamil Śliwak
9aafbf1092 CI: Replace test_ dicts with base_ ones and make their steps explicit 2021-11-03 12:54:56 +01:00
Kamil Śliwak
e9708105a4 CI: Remove superfluous/unused test_ dicts 2021-11-03 12:54:56 +01:00
Kamil Śliwak
fd66f13dc0 soltest.sh: Fix typo in a comment 2021-10-29 00:19:43 +02:00
Kamil Śliwak
cc80f5e992 Add missing condition to gitter_notify command 2021-10-26 10:52:22 +02:00
Harikrishnan Mulackal
8460a65aba
Merge pull request #12182 from ethereum/circleci-gitter-notification-command
[CI] Reusable command for gitter notifications
2021-10-25 12:20:07 +01:00
Harikrishnan Mulackal
ae0db91833
Merge pull request #12165 from ethereum/hardhat-tests-in-ci
[CI] Run hardhat tests as a PR check
2021-10-25 12:15:42 +01:00
Kamil Śliwak
a4fce301df CI: Use markdown link syntax in gitter messages 2021-10-22 21:23:23 +02:00
Kamil Śliwak
0e71c12c56 CI: Refactor the gitter notification templates into a reusable command 2021-10-22 21:23:23 +02:00
Kamil Śliwak
ab31437f2e Add a PR check that runs hardhat tests using the built compiler binary 2021-10-22 20:44:14 +02:00
Kamil Śliwak
92f3d749e2 CI: Store yul-phaser as an artifact too 2021-10-21 19:11:37 +02:00
Kamil Śliwak
70d78a09a7 Remove brew update and the workarounds it requires 2021-10-18 13:43:37 +02:00
Kamil Śliwak
f1ca8e535b Update the workaround for restore_cache on macOS not to delete files completely 2021-10-14 13:37:40 +02:00
Kamil Śliwak
cd22574072 Workaround for CircleCI not being able to restore cached /usr/local/Homebrew 2021-10-11 20:12:55 +02:00
Kamil Śliwak
24c8a608c4 Include OS and CPU architecture in CircleCI cache keys 2021-10-11 19:16:52 +02:00
Leonardo
6d806359be
Merge pull request #11873 from soroosh-sdi/cmake-check-z3-latest
Require latest Z3 by default and allow relaxing the requirement with `STRICT_Z3_VERSION=OFF`
2021-10-01 12:58:03 +02:00
soroosh-sdi
8b04ac38ab Require latest Z3 by default and allow relaxing the requirement with STRICT_Z3_VERSION=OFF
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-09-24 22:09:56 +03:30
Kamil Śliwak
091e15d6da Verify checksums of packages downloaded by scripts 2021-09-24 16:29:45 +02:00
Kamil Śliwak
59e8bbb1d7 Do not use --force with rm if not needed 2021-09-24 16:29:14 +02:00
Kamil Śliwak
67041fb37f Put versions of packages downloaded by scripts in variables to reduce duplication 2021-09-24 16:29:14 +02:00
Bhargava Shastry
bb1e185f88 Docker config: Update ossfuzz docker image. 2021-09-17 15:40:35 +02:00
Kamil Śliwak
4560e5bdd9 Bump base image version for b_bytecode_ems to get a newer version of Python 2021-09-16 20:22:24 +02:00
yatharthagoenka
5a02384233 Cleanup/Deduplication in .circleci/config 2021-09-03 22:56:19 +02:00
Kamil Śliwak
4e76914622 Switch back to using the latest ArchLinux docker image 2021-09-01 19:00:03 +02:00
Kamil Śliwak
5849e0c16e Re-enable SMT tests on Arch Linux
- Z3 4.8.12 has already been released
2021-09-01 18:59:13 +02:00
Bhargava Shastry
427aec2cb4 Circle CI: Introduce default evm version parameter; remove hard-coded setting. 2021-08-31 17:15:15 +02:00
Kamil Śliwak
a12af13189 .circleci/config.yml: Bump OpenJDK version from 14 to 16
- OpenJDK 14 seems to have been removed from Ubuntu Focal repos
2021-08-27 12:42:08 +02:00
Bhargava Shastry
b77d345da7 Refactor and add gitter notification for UBSan test CIs. 2021-08-26 20:54:10 +02:00
Bhargava Shastry
0b9fc214c7 Add UBSan build + test CI. 2021-08-26 13:14:56 +02:00
hrkrshnn
79733fca48 Set default EVM version to London. 2021-08-11 09:54:14 +02:00
hrkrshnn
af1dabb555 Added EVMVersion london.
Also set the value of `block_base_fee` for testing to 7 wei.
2021-08-09 16:18:08 +02:00
Alex Beregszaszi
c018cdf419
Merge pull request #11706 from ethereum/update-evmone-part2
Update evmone part 2
2021-07-27 17:17:59 +01:00
Leo Alt
6c8ecfa82c Add option to choose solver 2021-07-27 17:14:21 +02:00
hrkrshnn
6b8c32b859 Updated circleci scripts with evmone 0.8.0 docker images 2021-07-27 16:38:55 +02:00
Leo Alt
5decccaf3a update docker hashes and versions 2021-07-19 15:20:11 +02:00
hrkrshnn
d176716d47 Added extra commands that needs to be run before brew update
Fixes the following issue:

Error:
  homebrew-core is a shallow clone.
  homebrew-cask is a shallow clone.
To `brew update`, first run:
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
These commands may take a few minutes to run due to the large size of the repositories.
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in
CI systems (which should instead be fixed to not use shallow clones). Sorry for
the inconvenience!
2021-06-17 10:34:57 +02:00
Kamil Śliwak
b4df5ede69 Disable SMT tests on Arch Linux until the problem with hanging tests on Z3 4.8.11 is resolved 2021-06-14 15:38:19 +02:00
hrkrshnn
a4fd7c56a4 A script to summarize gas differences from isoltest for PRs. 2021-06-08 11:38:58 +02:00
hrkrshnn
d5564a0304 Set default EVM version to Berlin 2021-05-26 12:23:06 +02:00
Alex Beregszaszi
90072a7c0d update docker hashes 2021-05-13 16:25:55 +01:00
Alex Beregszaszi
3172d28c56 Upgrade hera to v0.3.2-evmc8 2021-05-13 13:15:13 +01:00
Daniel Kirchner
7073198adb Update docker image hashes in CircleCI config. 2021-05-12 16:56:23 +02:00
Alex Beregszaszi
99354a3b59 Upgrade evmone to 0.7.0 2021-05-12 16:56:23 +02:00
Daniel Kirchner
06a9199967 Change loading of VMs and error messages during test. 2021-05-12 14:48:37 +02:00
Kamil Śliwak
563160e5b3 Hard-code archlinux image version to base-20210131.0.14634 to work around runc/glibc bug 2021-04-29 19:16:09 +02:00
Kamil Śliwak
09283a6db4 Switch from archlinux/base to archlinux:base in CI
- archlinux/base seems to be gone
- archlinux:base comes from a different repo but seems to also be an official Arch Linux image
2021-04-29 18:29:21 +02:00
Kamil Śliwak
e76ef821a7 osx_install_dependencies.sh: Update brew explicitly to workaround auto-update issue on CircleCI
- Old versions have problems with binaries hosted on bintray. We need an up-to-date one.
- It automatically updates itself when we install boost but apparently there's a problem with that on CircleCI. An explicit update works.
2021-04-19 16:08:50 +02:00
Kamil Śliwak
1c556d0aaa osx_install_dependencies.sh: Use set -ue to fail fast on errors 2021-04-19 16:06:49 +02:00
Kamil Śliwak
30cda36d9a Create a bundle with all bytecode reports when comparison fails in CI 2021-04-15 17:14:33 +02:00
Kamil Śliwak
f14a80cbcf Don't print full diff when bytecode comparison fails in CI 2021-04-15 17:14:33 +02:00
Martin Blicha
145a03bdd6 Run SMTChecker tests on all EVM versions 2021-03-23 12:51:52 +01:00
Kamil Śliwak
7929175db6 Add shellcheck source directive in places where it can't find sourced files on its own 2021-03-15 12:16:43 +01:00
Djordje Mijovic
b3202f6b39 Ading CI job to check gas costs. 2021-03-10 14:22:30 +01:00
Kamil Śliwak
093ea4612b
Merge pull request #10586 from ethereum/shellcheck-fixes-part1
Fixes for shellcheck warnings, part 1
2021-03-05 17:13:46 +01:00
Daniel Kirchner
acd3084076 Fuzzer for stack optimiser/code generator. 2021-03-04 17:35:56 +01:00
Kamil Śliwak
04302d4828 Use glob match instead of regex match when not actually using a regex 2021-03-04 16:57:25 +01:00
Kamil Śliwak
62bf467fc2 Fix warnings about constructions that have no effect 2021-03-04 16:53:05 +01:00
Kamil Śliwak
a05f3a608d Don't use $ on variables inside (()) 2021-03-04 16:53:05 +01:00
Kamil Śliwak
4c186321c8 Replace some older shell syntax with newer and/or more reliable equivalents 2021-03-04 16:53:05 +01:00
Kamil Śliwak
8c57c7cb35 Explicitly use Bash in scripts that actually use non-POSIX features or do not have a shebang at all 2021-03-04 16:53:05 +01:00
chriseth
c82c2189d4
Merge pull request #10877 from ethereum/bash-arrays-for-arg-variables
Use Bash arrays for argument lists in shell scripts
2021-02-08 13:31:31 +01:00
Bhargava Shastry
2f001bb91c Unify solc fuzzers. 2021-02-08 11:14:38 +01:00
chriseth
8a4e6acdac
Merge pull request #10680 from ethereum/more-features-in-prepare-report
More features in prepare_report.py
2021-02-03 11:51:51 +01:00
Kamil Śliwak
96fd9051ed prepare_report.py: Add --report-file option 2021-02-02 16:16:28 +01:00
Kamil Śliwak
4a7d494d3c Use Bash arrays for variables containing multiple space-separated values 2021-02-02 15:45:24 +01:00
Kamil Śliwak
27754d3e3d Quote stuff properly 2021-02-01 17:14:38 +01:00
Kamil Śliwak
f7007ea324 Add CLI version of bytecode compare to existing CI jobs 2021-01-26 23:30:38 +01:00
Leonardo Alt
40221a90c4 Update smtCheckerTests for z3 4.8.10 2021-01-26 10:18:52 +01:00
Kamil Śliwak
cf147fac7a Add a CI job for running Python unit tests 2021-01-22 13:41:20 +01:00
Kamil Śliwak
83d65ba8f5 Disable git's automatic line ending conversion in Windows CI jobs 2021-01-22 12:16:28 +01:00
Kamil Śliwak
68e416e905 build_win.ps1: Use committer date rather than author date in prerelease.txt
- That's what the Linux/macOS scripts do.
2021-01-15 19:09:49 +01:00
Kamil Śliwak
71d19c5178 build_win.ps1: Use commit date for CI builds on Windows and Emscripten as well 2021-01-14 22:23:06 +01:00
Daniel Kirchner
804bd8f6dd Switch to new emscripten docker image. 2021-01-13 02:22:09 +01:00
Bhargava Shastry
72efdd3e51
Merge pull request #10606 from ethereum/update-ossfuzz-docker-image
ossfuzz: Update ossfuzz docker image that now contains sanitized libgmp
2020-12-18 15:27:52 +01:00
Bhargava Shastry
aa26adc323 ossfuzz: Update ossfuzz docker image that now contains sanitized libgmp 2020-12-15 14:33:04 +01:00
chriseth
561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
Kamil Śliwak
893a5b6e60 Remove unused variables 2020-12-12 06:30:57 +01:00
Kamil Śliwak
81668eb26a soltest_all: Fix an error being printed to a file called 2 rather than to stderr 2020-12-12 06:30:57 +01:00
chriseth
d0551b67d7 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-10 17:07:56 +01:00
Daniel Kirchner
7308abc084 Allow loading Z3 dynamically at runtime. 2020-12-10 16:47:47 +01:00
chriseth
482bda6887 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-10 12:15:52 +01:00
chriseth
66b15f24ad
Merge pull request #10518 from ethereum/deduplicate-external-test-job-definitions
[CI] Deduplicate external test job definitions
2020-12-10 11:58:52 +01:00
Daniel Kirchner
2e31a6bdbf Switch CI runs from EOL'ed eoan to focal. 2020-12-10 11:09:55 +01:00
chriseth
a5bd22795e Force running abi coder v1 instead of v2. 2020-12-09 15:25:15 +01:00
Kamil Śliwak
b672c2fab7 Combine the t_ems_compile_ext and t_ems_test_ext job definitions 2020-12-09 13:12:40 +01:00
Kamil Śliwak
da17150bec Extract common parts from external job definitions into commands 2020-12-09 13:12:40 +01:00
Bhargava Shastry
e23cf26d98
Merge pull request #10541 from ethereum/add-isabelle-abiv2-fuzzer-to-circleci-nightly
CircleCI: Add new abiv2 fuzzer to list of binaries in nightly fuzzer CI
2020-12-09 11:53:15 +01:00
chriseth
d2534e8208
Merge pull request #10466 from ethereum/run-external-tests-nightly
Running external tests nightly
2020-12-09 11:43:34 +01:00
Bhargava Shastry
047e706e7f CircleCI: Add new abiv2 fuzzer to list of binaries in nightly fuzzer CI 2020-12-09 11:10:16 +01:00
Kamil Śliwak
e78b4af4c4 Run external tests that take more than 15 minutes only nightly and re-enable their gitter notifications 2020-12-07 20:41:46 +01:00
Daniel Kirchner
a3a5d93b34 Drop direct support for Ubuntu 18.04 and switch to static PPA releases for it. 2020-12-07 18:18:41 +01:00
chriseth
8623e7fbe8
Merge pull request #10429 from ethereum/fix-and-enable-external-tests
Fix and enable external tests
2020-12-07 16:48:44 +01:00
Kamil Śliwak
1f55e9213b Disable flaky Gnosis v1 tests 2020-12-07 14:09:18 +01:00
Kamil Śliwak
9d1e0270cd Bump node.js version to 12 or 14 on external test jobs where possible 2020-12-07 14:09:18 +01:00
Kamil Śliwak
0c5d3c0cdf Add a job for executing external tests for ENS 2020-12-07 14:09:18 +01:00
Kamil Śliwak
70a2fc58b0 Add jobs and scripts running external tests for Gnosis v2 2020-12-07 14:09:18 +01:00
Kamil Śliwak
e05241adfc Update Colony, Gnosis and OpenZeppelin external tests to run on updated 0.7.x branches from solidity-external-tests 2020-12-07 14:09:18 +01:00
Kamil Śliwak
45c506a4ff Stop running external tests twice in CI 2020-12-07 14:00:14 +01:00
Kamil Śliwak
f737f66196 Temporarily disable gitter notifications for external tests 2020-12-07 14:00:14 +01:00
Kamil Śliwak
5b6e1560b3 Enable Colony, Gnosis and OpenZeppelin external tests in the main CI workflow 2020-12-07 14:00:14 +01:00
Kamil Śliwak
6383d64ef4 Upgrade the CircleCI job running bytecode comparison from node.js 10 to 14 2020-12-04 23:40:19 +01:00
chriseth
1944d5ce44
Merge pull request #9722 from ethereum/fix-9676
Add Solidity test case generator framework
2020-12-01 14:26:12 +01:00
Bhargava Shastry
d6ecedd16c External tests: Add ENS contracts 2020-11-30 13:53:28 +01:00
Kamil Śliwak
887569efd5
Merge pull request #10339 from ethereum/update-circleci-config
[ci] .circleci/config.yml: use docker images containing hera v0.3.2.
2020-11-27 20:07:05 +01:00
Alexander Arlt
3c7dd8d9b0 [ci] .circleci/config.yml: use docker images containing hera v0.3.2. 2020-11-26 19:40:24 -05:00
Alexander Arlt
46844d433d buildpack-deps: Update hera to 0.3.2. 2020-11-26 18:28:17 -05:00
Bhargava Shastry
864458922a Add solidity generator
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-23 22:27:40 +01:00
Alexander Arlt
fee871775b [ci] Add check to detect broken symlinks. 2020-11-18 19:18:06 -05:00
Kamil Śliwak
5560239cf5 Replace links to readthedocs.io with ones using the new domain 2020-11-18 15:20:34 +01:00
chriseth
3654dccb96 Disable travis. 2020-10-19 18:06:30 +02:00
chriseth
6c9db334c6
Merge pull request #9937 from ethereum/staticReleaseBuild
Static release build.
2020-10-19 10:41:49 +02:00
Daniel Kirchner
8e42015dd3 Fix windows builds. 2020-10-16 11:48:50 +02:00
Daniel Kirchner
9aafb62e52
Merge pull request #10050 from ethereum/circleWinTestResults
Store test results on CircleCI's t_win for proper reporting.
2020-10-15 20:40:37 +02:00
Daniel Kirchner
e91baeef37 Store test results on CircleCI's t_win for proper reporting. 2020-10-15 19:11:17 +02:00
Daniel Kirchner
f649565615 Switch to new ossfuzz docker image. 2020-10-15 17:45:02 +02:00
Daniel Kirchner
a7b8ad311d Always build a windows release binary on tags. 2020-10-15 00:48:56 +02:00
Daniel Kirchner
8075d6c7e8 Persist osx workspace files in different path to avoid conflicts. 2020-10-15 00:48:56 +02:00
Daniel Kirchner
30d990f07c Persist less data to workspaces. 2020-10-15 00:48:56 +02:00