mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
externalTests: Add extra viaIR runs
This commit is contained in:
parent
d304c84432
commit
3ec05d02b5
@ -1037,8 +1037,9 @@ jobs:
|
|||||||
docker:
|
docker:
|
||||||
- image: circleci/node:<<parameters.nodejs_version>>
|
- image: circleci/node:<<parameters.nodejs_version>>
|
||||||
resource_class: <<parameters.resource_class>>
|
resource_class: <<parameters.resource_class>>
|
||||||
# NOTE: Each external test does 3 separate compile&test runs
|
# NOTE: Each external test runs up to 6 independent settings presets. If parallelism is higher than
|
||||||
parallelism: 3
|
# actual preset count, some runs will exit immediately. If it's lower, some runs will get more than one preset.
|
||||||
|
parallelism: 6
|
||||||
environment:
|
environment:
|
||||||
TERM: xterm
|
TERM: xterm
|
||||||
COMPILE_ONLY: <<parameters.compile_only>>
|
COMPILE_ONLY: <<parameters.compile_only>>
|
||||||
|
@ -37,6 +37,9 @@ function colony_test
|
|||||||
local branch=develop_080
|
local branch=develop_080
|
||||||
local config_file="truffle.js"
|
local config_file="truffle.js"
|
||||||
local settings_presets=(
|
local settings_presets=(
|
||||||
|
#ir-no-optimize # Compiles but tests run out of gas
|
||||||
|
#ir-optimize-evm-only # Compiles but tests run out of gas
|
||||||
|
ir-optimize-evm+yul
|
||||||
#legacy-no-optimize # Compiles but tests run out of gas
|
#legacy-no-optimize # Compiles but tests run out of gas
|
||||||
#legacy-optimize-evm-only # Compiles but tests run out of gas
|
#legacy-optimize-evm-only # Compiles but tests run out of gas
|
||||||
legacy-optimize-evm+yul
|
legacy-optimize-evm+yul
|
||||||
|
@ -250,9 +250,13 @@ function settings_from_preset
|
|||||||
local evm_version="$2"
|
local evm_version="$2"
|
||||||
|
|
||||||
case "$preset" in
|
case "$preset" in
|
||||||
legacy-no-optimize) echo "{evmVersion: '${evm_version}', optimizer: {enabled: false}}" ;;
|
# NOTE: Remember to update `parallelism` of `t_ems_ext` job in CI config if you add/remove presets
|
||||||
legacy-optimize-evm-only) echo "{evmVersion: '${evm_version}', optimizer: {enabled: true, details: {yul: false}}}" ;;
|
legacy-no-optimize) echo "{evmVersion: '${evm_version}', viaIR: false, optimizer: {enabled: false}}" ;;
|
||||||
legacy-optimize-evm+yul) echo "{evmVersion: '${evm_version}', optimizer: {enabled: true, details: {yul: true}}}" ;;
|
ir-no-optimize) echo "{evmVersion: '${evm_version}', viaIR: true, optimizer: {enabled: false}}" ;;
|
||||||
|
legacy-optimize-evm-only) echo "{evmVersion: '${evm_version}', viaIR: false, optimizer: {enabled: true, details: {yul: false}}}" ;;
|
||||||
|
ir-optimize-evm-only) echo "{evmVersion: '${evm_version}', viaIR: true, optimizer: {enabled: true, details: {yul: false}}}" ;;
|
||||||
|
legacy-optimize-evm+yul) echo "{evmVersion: '${evm_version}', viaIR: false, optimizer: {enabled: true, details: {yul: true}}}" ;;
|
||||||
|
ir-optimize-evm+yul) echo "{evmVersion: '${evm_version}', viaIR: true, optimizer: {enabled: true, details: {yul: true}}}" ;;
|
||||||
*)
|
*)
|
||||||
fail "Unknown settings preset: '${preset}'."
|
fail "Unknown settings preset: '${preset}'."
|
||||||
;;
|
;;
|
||||||
|
@ -37,6 +37,9 @@ function ens_test
|
|||||||
local branch=master
|
local branch=master
|
||||||
local config_file="truffle.js"
|
local config_file="truffle.js"
|
||||||
local settings_presets=(
|
local settings_presets=(
|
||||||
|
#ir-no-optimize # "YulException: Variable var_ttl_236 is 1 slot(s) too deep inside the stack."
|
||||||
|
#ir-optimize-evm-only # "YulException: Variable var_ttl_236 is 1 slot(s) too deep inside the stack."
|
||||||
|
ir-optimize-evm+yul
|
||||||
legacy-no-optimize
|
legacy-no-optimize
|
||||||
legacy-optimize-evm-only
|
legacy-optimize-evm-only
|
||||||
legacy-optimize-evm+yul
|
legacy-optimize-evm+yul
|
||||||
|
@ -37,6 +37,9 @@ function gnosis_safe_test
|
|||||||
local branch=v2_080
|
local branch=v2_080
|
||||||
local config_file="truffle-config.js"
|
local config_file="truffle-config.js"
|
||||||
local settings_presets=(
|
local settings_presets=(
|
||||||
|
#ir-no-optimize # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack."
|
||||||
|
#ir-optimize-evm-only # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack."
|
||||||
|
ir-optimize-evm+yul
|
||||||
#legacy-no-optimize # "Error: while migrating GnosisSafe: Returned error: base fee exceeds gas limit"
|
#legacy-no-optimize # "Error: while migrating GnosisSafe: Returned error: base fee exceeds gas limit"
|
||||||
legacy-optimize-evm-only
|
legacy-optimize-evm-only
|
||||||
legacy-optimize-evm+yul
|
legacy-optimize-evm+yul
|
||||||
|
@ -37,6 +37,9 @@ function gnosis_safe_test
|
|||||||
local branch=development_080
|
local branch=development_080
|
||||||
local config_file="truffle-config.js"
|
local config_file="truffle-config.js"
|
||||||
local settings_presets=(
|
local settings_presets=(
|
||||||
|
#ir-no-optimize # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack."
|
||||||
|
#ir-optimize-evm-only # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack."
|
||||||
|
ir-optimize-evm+yul
|
||||||
#legacy-no-optimize # "Stack too deep" error
|
#legacy-no-optimize # "Stack too deep" error
|
||||||
#legacy-optimize-evm-only # "Stack too deep" error
|
#legacy-optimize-evm-only # "Stack too deep" error
|
||||||
legacy-optimize-evm+yul
|
legacy-optimize-evm+yul
|
||||||
|
@ -37,6 +37,9 @@ function zeppelin_test
|
|||||||
local branch=master
|
local branch=master
|
||||||
local config_file="hardhat.config.js"
|
local config_file="hardhat.config.js"
|
||||||
local settings_presets=(
|
local settings_presets=(
|
||||||
|
#ir-no-optimize # "YulException: Variable var_account_852 is 4 slot(s) too deep inside the stack."
|
||||||
|
#ir-optimize-evm-only # "YulException: Variable var_account_852 is 4 slot(s) too deep inside the stack."
|
||||||
|
#ir-optimize-evm+yul # Compiles but tests fail. See https://github.com/nomiclabs/hardhat/issues/2115
|
||||||
legacy-no-optimize
|
legacy-no-optimize
|
||||||
legacy-optimize-evm-only
|
legacy-optimize-evm-only
|
||||||
legacy-optimize-evm+yul
|
legacy-optimize-evm+yul
|
||||||
|
Loading…
Reference in New Issue
Block a user