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