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