Commit Graph

508 Commits

Author SHA1 Message Date
Marenz
542ce5ad95 Use long option for spellchecker in CI 2022-08-18 15:28:12 +02:00
Marenz
1b5332c2b9 Fix spelling mistakes and CI spellcheck job 2022-08-18 14:38:19 +02:00
Kamil Śliwak
cd741b4162 CI: Disable SMT tests on Arch Linux 2022-07-26 17:38:55 +02:00
Kamil Śliwak
1e8faa8e83 CI: Fix binary naming for solc-bin 2022-06-15 18:16:06 +02:00
Kamil Śliwak
0b80a56294 External test for Gnosis Protocol v2 2022-06-08 20:23:39 +02:00
Kamil Śliwak
5c76d8ee77 External test for Chainlink 2022-06-08 20:21:58 +02:00
Kamil Śliwak
2cea70c04f Skip external test benchmark diff instead of failing when previous run of the job did not succeed 2022-06-07 13:24:55 +02:00
Kamil Śliwak
f4f4cfe294 CI: Print pylint version before running checks 2022-06-01 20:32:25 +02:00
Marenz
6c9754a784 lsp.py: Fix various problems with subdirectory edge cases
* fix properly path parsing with nested subdirectories
* fix regex to be able to handle `file://..`
* fix not checking all expected diagnostics
* Some extra comments and renames
2022-05-31 16:17:35 +02:00
Matheus Aguiar
90514d8893 Added option to allow soltest in CI print errors to stderr in addition to the XML report. 2022-05-27 18:32:21 -03:00
Kamil Śliwak
45dffe598c c_ext_benchmarks: Generate and store benchmark diffs 2022-05-23 14:18:29 +02:00
Kamil Śliwak
9618cb947d download_benchmarks: Script for downloading benchmark results from CircleCI 2022-05-23 14:18:29 +02:00
Daniel Kirchner
e93ad30e43 Remove obsolete enforce-via-yul logic and CI run. 2022-05-19 20:23:28 +02:00
Kamil Śliwak
0cb9590298
Merge pull request #12929 from ethereum/circleci-release-binaries-via-workspace
[CI] Automate preparation of release binaries for publishing (via workspace)
2022-05-19 18:17:53 +02:00
Leo Alt
6a126f6ccb Update tests and hashes for z3 4.8.17 2022-05-13 15:25:10 +02:00
Kamil Śliwak
dbcffb79a5 CI: Post a notification to gitter when binaries are ready 2022-05-12 21:41:44 +02:00
Kamil Śliwak
0153822d2e CI: Add c_release_binaries job that gathers release binaries from individual jobs 2022-05-12 21:41:44 +02:00
Daniel Kirchner
aafda389ea
Merge pull request #12907 from ethereum/calldataReencodeValidationBug
Calldatasize-check during ABI encoding from calldata values with nested dynamic arrays.
2022-05-12 17:56:44 +02:00
Kamil Śliwak
c0cc8ff7e7 Switch to newly built buildpack-deps images in CI 2022-05-12 14:26:07 +02:00
Daniel Kirchner
d357d56b16 Increase CircleCI node size for soltest_all runs. 2022-05-12 13:41:56 +02:00
Christian Parpart
e8d07772d9 lsp.py: Port to support running on Windows & adapt to changes due to prior merged PR.
- lsp.py: Fixes invalid-syntax by Python interpreter on Windows CI (older Python version).
- lsp.py: Savely strip CRLF from right side of the string, ignoring accidental multiple occurrences of \r (such as \r\r\n).
- lsp.py: Fixes reading single character from stdin (wrt. Windows platform).
- lsp.py: Adds header line reading to I/O tracing (useful for debugging).
- lsp.py: When running the tests on Windows, don't care test file content's newlines but simply expect LFs (instead of CRLF for example).
- Apply pylint notes.
- Fixing use of @functools.lru_cache for older python versions (CircleCI Windows)
2022-05-09 11:37:11 +02:00
Christian Parpart
49d27eaa5d [Circle CI] Adds LSP tests to Windows CI. 2022-05-09 11:37:11 +02:00
Leo Alt
4fd7de36f1 update smt tests z3 4.8.16 2022-05-03 14:23:27 +02:00
Kamil Śliwak
5111e7543c soltest.sh: Prevent parallel tests from overwriting each other's XML test output 2022-04-13 20:08:15 +02:00
Kamil Śliwak
8e085432bb External test for Brink 2022-04-13 13:43:48 +02:00
Kamil Śliwak
4ac46ebf40 Disable dependency caching on macOS in CI 2022-04-11 16:01:29 +02:00
Kamil Śliwak
6931c939e0 CI: Make osx test jobs handle dependency installation even if b_osx does not install them 2022-04-11 16:01:29 +02:00
Tharun K
a608bc12f7 Moved docs.sh script to docs/ 2022-04-08 20:41:22 +02:00
Kamil Śliwak
2d834eaf67 A script and CI job for testing the compiler with different locales 2022-03-14 09:08:01 +01:00
Kamil Śliwak
438c082488 CI: Remove the compile-only run for Gnosis 2022-03-09 19:57:16 +01:00
Kamil Śliwak
304c3984ad Update gnosis external test to use upstream directly and use Hardhat 2022-03-09 19:57:16 +01:00
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