Commit Graph

477 Commits

Author SHA1 Message Date
Alexander Arlt
ab0ab4491d Update CI to use new buildpacks. 2022-03-02 11:43:57 -05:00
Leo
947a599e91
Merge pull request #12441 from ethereum/benchmarking-ext-tests
Benchmarking external tests
2022-02-14 20:14:27 +01:00
Daniel Kirchner
3a201ec0f8 Build packed soljson.js. 2022-02-14 16:52:59 +01:00
Daniel Kirchner
5c67d7d8e3 Disable running smt tests in ubsan runs. 2022-02-14 11:48:56 +01:00
Kamil Śliwak
60d9aa0d4f Benchmark report collector job + summary 2022-02-09 17:54:45 +01:00
Kamil Śliwak
c6094bb0c2 externalTests: Benchmark reports 2022-02-09 17:02:40 +01:00
Kamil Śliwak
d511fe93ab CI: Fix job name for PRBMath external test 2022-02-09 17:02:40 +01:00
yatharthagoenka
bdf84c991f Ci: parameterize the clang sanitizer jobs 2022-02-08 20:11:04 +01:00
Kamil Śliwak
bce5f9e0da CI: Store all artifacts in steps_build so that we can use it for b_ubu 2022-02-08 20:11:04 +01:00
yatharthagoenka
0f05b1485e CI: shared build and dependency installation steps 2022-02-08 20:11:04 +01:00
Kamil Śliwak
2f0ccb21be CI: Switch t_ems_ext_hardhat to nodejs 16 2022-02-05 00:31:17 +01:00
Kamil Śliwak
247eab9056 CI: Rename node_latest_small to node_small 2022-02-05 00:06:23 +01:00
Kamil Śliwak
4d65bfa95e CI: Remove notes about Hardhat failing on nodejs 17; that version is officially not supported 2022-02-05 00:06:23 +01:00
Kamil Śliwak
b52032a452 Re-enable Bleeps and just disable the failing governor test 2022-02-04 15:18:37 +01:00
Kamil Śliwak
1e0a695d24 Disable bleeps external test until it gets fixed upstream 2022-02-01 17:01:10 +01:00
Kamil Śliwak
cf024d9fa3 External test for ElementFi 2022-01-24 11:53:00 +01:00
Kamil Śliwak
36efd084df External test for PRBMath 2022-01-21 23:48:46 +01:00
Kamil Śliwak
aeb9637377 External test for Uniswap V3 2022-01-21 16:10:24 +01:00
Kamil Śliwak
7b4522f507 External test for Tracer Perpetual Pools 2022-01-19 20:24:25 +01:00
Kamil Śliwak
93f7d5f8f0 External tests for Pool Together v4 2022-01-19 17:21:03 +01:00
Kamil Śliwak
b1e7964ad5 CI: Add missing workflow_trigger_on_tags filter to bytecode jobs 2022-01-17 19:55:52 +01:00
Kamil Śliwak
31cf7f7adb CI: Create templates for parameterized jobs to make it easier to reuse them in multiple workflows 2022-01-17 19:55:52 +01:00
Kamil Śliwak
1af0ce0f26 External test for Bleeps 2022-01-14 23:57:14 +01:00
Daniel Kirchner
756ae673e1
Merge pull request #12536 from ethereum/optimize-mac-os-ci-jobs
[CI] Use `large` resource class for macOS and use `-j` without spaces
2022-01-14 23:50:04 +01:00
Kamil Śliwak
91f51b76c6 CI: Use 'large' resource class for macOS and use -j without spaces 2022-01-14 23:09:18 +01:00
Kamil Śliwak
4de1367ba7 External test for Yield Liquidator V2 2022-01-14 22:37:56 +01:00
Kamil Śliwak
054f1cb304 External test for Euler 2022-01-14 02:14:05 +01:00
Daniel Kirchner
b49f486cf6 Update osx z3 archive hash. 2022-01-12 17:38:47 +01:00
Leo Alt
9f171c0f06 update smtchecker tests for new z3 2022-01-12 15:13:34 +01:00
Kamil Śliwak
483148ddff Include the parallel run number in gitter notifcations from CI 2022-01-10 16:26:14 +01:00
Kamil Śliwak
6980fa32e2 External test for sushiswap/trident 2022-01-10 14:37:24 +01:00
chriseth
2a7f26e2c0 Test batcher. 2021-12-30 15:02:05 +01:00
Kamil Śliwak
7e91dba663 Switch ens external test to ens-contracts repo 2021-12-22 14:45:51 +01:00
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