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:
|
||||
- image: circleci/node:<<parameters.nodejs_version>>
|
||||
resource_class: <<parameters.resource_class>>
|
||||
# NOTE: Each external test does 3 separate compile&test runs
|
||||
parallelism: 3
|
||||
# NOTE: Each external test runs up to 6 independent settings presets. If parallelism is higher than
|
||||
# actual preset count, some runs will exit immediately. If it's lower, some runs will get more than one preset.
|
||||
parallelism: 6
|
||||
environment:
|
||||
TERM: xterm
|
||||
COMPILE_ONLY: <<parameters.compile_only>>
|
||||
|
@ -37,6 +37,9 @@ function colony_test
|
||||
local branch=develop_080
|
||||
local config_file="truffle.js"
|
||||
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-optimize-evm-only # Compiles but tests run out of gas
|
||||
legacy-optimize-evm+yul
|
||||
|
@ -250,9 +250,13 @@ function settings_from_preset
|
||||
local evm_version="$2"
|
||||
|
||||
case "$preset" in
|
||||
legacy-no-optimize) echo "{evmVersion: '${evm_version}', optimizer: {enabled: false}}" ;;
|
||||
legacy-optimize-evm-only) echo "{evmVersion: '${evm_version}', optimizer: {enabled: true, details: {yul: false}}}" ;;
|
||||
legacy-optimize-evm+yul) echo "{evmVersion: '${evm_version}', optimizer: {enabled: true, details: {yul: true}}}" ;;
|
||||
# NOTE: Remember to update `parallelism` of `t_ems_ext` job in CI config if you add/remove presets
|
||||
legacy-no-optimize) echo "{evmVersion: '${evm_version}', viaIR: false, optimizer: {enabled: false}}" ;;
|
||||
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}'."
|
||||
;;
|
||||
|
@ -37,6 +37,9 @@ function ens_test
|
||||
local branch=master
|
||||
local config_file="truffle.js"
|
||||
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-optimize-evm-only
|
||||
legacy-optimize-evm+yul
|
||||
|
@ -37,6 +37,9 @@ function gnosis_safe_test
|
||||
local branch=v2_080
|
||||
local config_file="truffle-config.js"
|
||||
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-optimize-evm-only
|
||||
legacy-optimize-evm+yul
|
||||
|
@ -37,6 +37,9 @@ function gnosis_safe_test
|
||||
local branch=development_080
|
||||
local config_file="truffle-config.js"
|
||||
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-optimize-evm-only # "Stack too deep" error
|
||||
legacy-optimize-evm+yul
|
||||
|
@ -37,6 +37,9 @@ function zeppelin_test
|
||||
local branch=master
|
||||
local config_file="hardhat.config.js"
|
||||
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-optimize-evm-only
|
||||
legacy-optimize-evm+yul
|
||||
|
Loading…
Reference in New Issue
Block a user