diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts index ebe9839b5b..aa512b8418 100755 --- a/.github/workflows/ci.generate.ts +++ b/.github/workflows/ci.generate.ts @@ -12,7 +12,7 @@ const ubuntuX86XlRunner = "ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04"; const ubuntuARMRunner = "ghcr.io/cirruslabs/ubuntu-runner-arm64:24.04"; const windowsX86Runner = "windows-2022"; const windowsX86XlRunner = "windows-2022-xl"; -const macosX86Runner = "macos-13"; +const macosX86Runner = "macos-15-intel"; const macosArmRunner = "macos-14"; const selfHostedMacosArmRunner = "ghcr.io/cirruslabs/macos-runner:sonoma"; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a8f138e7b..7744be778a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,12 +60,12 @@ jobs: include: - os: macos arch: x86_64 - runner: macos-13 + runner: macos-15-intel job: test profile: debug - os: macos arch: x86_64 - runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'')) && ''ubuntu-24.04'' || ''macos-13'' }}' + runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'')) && ''ubuntu-24.04'' || ''macos-15-intel'' }}' job: test profile: release skip: '${{ !contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'') }}' @@ -765,7 +765,7 @@ jobs: job: lint - os: macos arch: x86_64 - runner: macos-13 + runner: macos-15-intel profile: debug job: lint - os: windows diff --git a/Cargo.lock b/Cargo.lock index 0a40c2dd37..58426bc2ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5794,9 +5794,9 @@ dependencies = [ [[package]] name = "libsui" -version = "0.11.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ff2746d6f3ea1421944f625fd827c52e0d7e97b91976d4c940c486da38b414" +checksum = "99dc19fe502fbaca89d5607b14a0e301a40af42a14e33afc349e73eaef2bc86f" dependencies = [ "editpe", "image", diff --git a/Cargo.toml b/Cargo.toml index c766391ecf..9e0245feeb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -314,7 +314,7 @@ dprint-plugin-markdown = "=0.20.0" dprint-plugin-typescript = "=0.95.13" env_logger = "=0.11.6" fancy-regex = "=0.14.0" -libsui = "0.11.0" +libsui = "0.12.2" malva = "=0.12.1" markup_fmt = "=0.22.0" open = "5.0.1" diff --git a/cli/standalone/binary.rs b/cli/standalone/binary.rs index c3b463a9bb..50a3ca4afd 100644 --- a/cli/standalone/binary.rs +++ b/cli/standalone/binary.rs @@ -180,10 +180,10 @@ pub fn is_standalone_binary(exe_path: &Path) -> bool { let Ok(data) = std::fs::read(exe_path) else { return false; }; - libsui::utils::is_elf(&data) || libsui::utils::is_pe(&data) || libsui::utils::is_macho(&data) + || data.is_empty() } pub struct WriteBinOptions<'a> { diff --git a/tests/specs/compile/determinism/__test__.jsonc b/tests/specs/compile/determinism/__test__.jsonc index b8bbfcf6e2..7f7e8285a4 100644 --- a/tests/specs/compile/determinism/__test__.jsonc +++ b/tests/specs/compile/determinism/__test__.jsonc @@ -1,5 +1,6 @@ { "tempDir": true, + "if": "notMacIntel", "steps": [{ "args": [ "eval", diff --git a/tests/specs/compile/ffi/__test__.jsonc b/tests/specs/compile/ffi/__test__.jsonc index ad8b13ecf3..97980ce6e7 100644 --- a/tests/specs/compile/ffi/__test__.jsonc +++ b/tests/specs/compile/ffi/__test__.jsonc @@ -1,5 +1,6 @@ { "tempDir": true, + "if": "notMacIntel", "steps": [{ "args": "run -A setup.ts", "output": "[WILDCARD]" diff --git a/tests/specs/compile/global_npm_cache_implicit_read_permission/__test__.jsonc b/tests/specs/compile/global_npm_cache_implicit_read_permission/__test__.jsonc index d346c3ad20..5ff38bf875 100644 --- a/tests/specs/compile/global_npm_cache_implicit_read_permission/__test__.jsonc +++ b/tests/specs/compile/global_npm_cache_implicit_read_permission/__test__.jsonc @@ -1,11 +1,11 @@ { "tempDir": true, "steps": [{ - "if": "unix", + "if": "notMacIntel", "args": "compile --output main main.ts", "output": "compile.out" }, { - "if": "unix", + "if": "notMacIntel", "commandName": "./main", "args": [], "output": "main.out" diff --git a/tests/specs/compile/include/buffered_reads/__test__.jsonc b/tests/specs/compile/include/buffered_reads/__test__.jsonc index 7640fed56b..3b8b7e4264 100644 --- a/tests/specs/compile/include/buffered_reads/__test__.jsonc +++ b/tests/specs/compile/include/buffered_reads/__test__.jsonc @@ -4,11 +4,11 @@ "args": "run -A setup.js", "output": "[WILDCARD]" }, { - "if": "unix", + "if": "notMacIntel", "args": "compile --allow-read=data --include data --output main main.ts", "output": "[WILDCARD]" }, { - "if": "unix", + "if": "notMacIntel", "commandName": "./main", "args": [], "output": "[WILDCARD]", diff --git a/tests/specs/compile/node_api/__test__.jsonc b/tests/specs/compile/node_api/__test__.jsonc index 519ce01a93..4540d3ef9f 100644 --- a/tests/specs/compile/node_api/__test__.jsonc +++ b/tests/specs/compile/node_api/__test__.jsonc @@ -1,5 +1,6 @@ { "tempDir": true, + "if": "notMacIntel", "steps": [{ "args": "install --allow-scripts", "output": "[WILDCARD]" diff --git a/tests/specs/compile/npm_fs/__test__.jsonc b/tests/specs/compile/npm_fs/__test__.jsonc index a8198bfb5d..4919e4fd2e 100644 --- a/tests/specs/compile/npm_fs/__test__.jsonc +++ b/tests/specs/compile/npm_fs/__test__.jsonc @@ -3,11 +3,11 @@ // use this so the vfs output is all in the same folder "canonicalizedTempDir": true, "steps": [{ - "if": "unix", + "if": "notMacIntel", "args": "compile -A --output main main.ts", "output": "compile.out" }, { - "if": "unix", + "if": "notMacIntel", "commandName": "./main", "args": [], "output": "main.out" diff --git a/tests/specs/compile/package_json_type/__test__.jsonc b/tests/specs/compile/package_json_type/__test__.jsonc index 0abf121f05..266e25b866 100644 --- a/tests/specs/compile/package_json_type/__test__.jsonc +++ b/tests/specs/compile/package_json_type/__test__.jsonc @@ -4,11 +4,11 @@ "args": "install", "output": "[WILDCARD]" }, { - "if": "unix", + "if": "notMacIntel", "args": "compile --output main main.js", "output": "compile.out" }, { - "if": "unix", + "if": "notMacIntel", "commandName": "./main", "args": [], "output": "output.out", diff --git a/tests/specs/mod.rs b/tests/specs/mod.rs index 438107ce24..18147bafe8 100644 --- a/tests/specs/mod.rs +++ b/tests/specs/mod.rs @@ -484,6 +484,10 @@ fn should_run(if_cond: Option<&str>) -> bool { "mac" => cfg!(target_os = "macos"), "linux" => cfg!(target_os = "linux"), "notCI" => std::env::var_os("CI").is_none(), + "notMacIntel" => { + cfg!(unix) + && !(cfg!(target_os = "macos") && cfg!(target_arch = "x86_64")) + } value => panic!("Unknown if condition: {}", value), } } else { diff --git a/tests/specs/npm/file_specifier/__test__.jsonc b/tests/specs/npm/file_specifier/__test__.jsonc index d930d8085c..429b361400 100644 --- a/tests/specs/npm/file_specifier/__test__.jsonc +++ b/tests/specs/npm/file_specifier/__test__.jsonc @@ -23,9 +23,11 @@ "exitCode": 1, "output": "node_modules_dir.out" }, { + "if": "notMacIntel", "args": "compile --allow-read --output exec package-a/index.mjs", "output": "compile.out" }, { + "if": "notMacIntel", "commandName": "./exec", "args": [], "output": "output.out" diff --git a/tests/specs/schema.json b/tests/specs/schema.json index 7f15d340bd..8c3c4d64cd 100644 --- a/tests/specs/schema.json +++ b/tests/specs/schema.json @@ -48,7 +48,8 @@ "mac", "linux", "windows", - "unix" + "unix", + "notMacIntel" ] }, "output": { @@ -103,7 +104,8 @@ "mac", "linux", "windows", - "unix" + "unix", + "notMacIntel" ] }, "repeat": {