diff --git a/.github/scripts/matrices.py b/.github/scripts/matrices.py index 4ad0c3acc34dc..b421fe8f3738c 100755 --- a/.github/scripts/matrices.py +++ b/.github/scripts/matrices.py @@ -68,11 +68,14 @@ def __init__( profile = os.environ.get("PROFILE") is_pr = os.environ.get("EVENT_NAME") == "pull_request" t_linux_x86 = Target("ubuntu-latest", "x86_64-unknown-linux-gnu", "linux-amd64") -# TODO: Figure out how to make this work -# t_linux_arm = Target("ubuntu-latest", "aarch64-unknown-linux-gnu", "linux-aarch64") +t_linux_arm = Target("ubuntu-24.04-arm", "aarch64-unknown-linux-gnu", "linux-aarch64") t_macos = Target("macos-latest", "aarch64-apple-darwin", "macosx-aarch64") t_windows = Target("windows-latest", "x86_64-pc-windows-msvc", "windows-amd64") -targets = [t_linux_x86, t_windows] if is_pr else [t_linux_x86, t_macos, t_windows] +targets = ( + [t_linux_x86, t_windows] + if is_pr + else [t_linux_x86, t_linux_arm, t_macos, t_windows] +) config = [ Case( @@ -120,7 +123,7 @@ def main(): s = f"{partition}/{case.n_partitions}" name += f" ({s})" flags += f" --partition count:{s}" - + if profile == "isolate": flags += " --features=isolate-by-default" name += os_str diff --git a/crates/cast/tests/cli/main.rs b/crates/cast/tests/cli/main.rs index 69b3181db6686..bc18a938be16c 100644 --- a/crates/cast/tests/cli/main.rs +++ b/crates/cast/tests/cli/main.rs @@ -3146,35 +3146,48 @@ forgetest_async!(cast_run_impersonated_tx, |_prj, cmd| { }); // -casttest!(fetch_src_blockscout, |_prj, cmd| { - let url = "https://eth.blockscout.com/api"; - - let weth = address!("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"); - - cmd.args([ - "source", - &weth.to_string(), - "--chain-id", - "1", - "--explorer-api-url", - url, - "--flatten", - ]) - .assert_success() - .stdout_eq(str![[r#" +casttest!( + #[cfg_attr(all(target_os = "linux", target_arch = "aarch64"), ignore = "no 0.4 solc")] + fetch_src_blockscout, + |_prj, cmd| { + let url = "https://eth.blockscout.com/api"; + + let weth = address!("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"); + + cmd.args([ + "source", + &weth.to_string(), + "--chain-id", + "1", + "--explorer-api-url", + url, + "--flatten", + ]) + .assert_success() + .stdout_eq(str![[r#" ... contract WETH9 { string public name = "Wrapped Ether"; string public symbol = "WETH"; uint8 public decimals = 18; ..."#]]); -}); - -casttest!(fetch_src_default, |_prj, cmd| { - let weth = address!("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"); - let etherscan_api_key = next_etherscan_api_key(); - - cmd.args(["source", &weth.to_string(), "--flatten", "--etherscan-api-key", ðerscan_api_key]) + } +); + +casttest!( + #[cfg_attr(all(target_os = "linux", target_arch = "aarch64"), ignore = "no 0.4 solc")] + fetch_src_default, + |_prj, cmd| { + let weth = address!("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"); + let etherscan_api_key = next_etherscan_api_key(); + + cmd.args([ + "source", + &weth.to_string(), + "--flatten", + "--etherscan-api-key", + ðerscan_api_key, + ]) .assert_success() .stdout_eq(str![[r#" ... @@ -3183,7 +3196,8 @@ contract WETH9 { string public symbol = "WETH"; uint8 public decimals = 18; ..."#]]); -}); + } +); // //