From 5a6d544d8790916cdb3dbbccaf0ef0112c9ba906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20W=2E=20Urba=C5=84czyk?= Date: Fri, 26 Jan 2024 08:47:27 +0100 Subject: [PATCH] artifact juggling --- build/build/release-body.md | 7 ++++--- build/build/src/project/ide.rs | 14 +++++++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/build/build/release-body.md b/build/build/release-body.md index bd29eab45f9d..9fb4c6661e6c 100644 --- a/build/build/release-body.md +++ b/build/build/release-body.md @@ -16,9 +16,10 @@ they contain both GUI and the backend. Download links: -- [Linux]({{download_prefix}}/enso-linux-{{version}}.AppImage) (AppImage); -- [macOS]({{download_prefix}}/enso-mac-{{version}}.dmg) (DMG); -- [Windows]({{download_prefix}}/enso-win-{{version}}.exe) (Installer +- [Linux]({{download_prefix}}/enso-linux-x86_64-{{version}}.AppImage) (AppImage); +- [macOS (x64)]({{download_prefix}}/enso-mac-x64-{{version}}.dmg) (DMG); +- [macOS (arm64)]({{download_prefix}}/enso-mac-arm64-{{version}}.dmg) (DMG); +- [Windows]({{download_prefix}}/enso-win-x64-{{version}}.exe) (Installer Executable). This is the recommended download for most users. diff --git a/build/build/src/project/ide.rs b/build/build/src/project/ide.rs index 6060dde34eed..56de2545bd8c 100644 --- a/build/build/src/project/ide.rs +++ b/build/build/src/project/ide.rs @@ -46,10 +46,18 @@ impl Artifact { _ => todo!("{target_os}-{target_arch} combination is not supported"), } .into(); + // Electron-builder does something like this: + // https://github.com/electron-userland/electron-builder/blob/master/packages/builder-util/src/arch.ts + let arch_string = match (target_os, target_arch) { + (OS::Linux, Arch::X86_64) => "x86_64", + (_, Arch::X86_64) => "x64", + (_, Arch::AArch64) => "arm64", + _ => todo!("{target_os}-{target_arch} combination is not supported"), + }; let image = dist_dir.as_ref().join(match target_os { - OS::Linux => format!("enso-linux-{version}.AppImage"), - OS::MacOS => format!("enso-mac-{version}.dmg"), - OS::Windows => format!("enso-win-{version}.exe"), + OS::Linux => format!("enso-linux-{arch_string}-{version}.AppImage"), + OS::MacOS => format!("enso-mac-{arch_string}-{version}.dmg"), + OS::Windows => format!("enso-win-{arch_string}-{version}.exe"), _ => todo!("{target_os}-{target_arch} combination is not supported"), });