From b9758bd67907338ed8ab37f3707472f4d48efd96 Mon Sep 17 00:00:00 2001 From: Devin Binnie <52460000+devinbinnie@users.noreply.github.com> Date: Wed, 30 Nov 2022 10:58:42 -0400 Subject: [PATCH] [MM-48380] Reworked Linux build process to correctly support ARM64 (#2428) * [MM-48380] Reworked Linux build process to correctly support ARM64 * Try with ubuntu 18.04 * Why is it backwards * Revert "Why is it backwards" This reverts commit 5208fd3fa616a6fe774cca744bb6cd9d3f288a7a. * Revert "Try with ubuntu 18.04" This reverts commit e3c0f9e01e5d4b4040f6bb23bbd0fcf6160b92bd. * :( --- .circleci/config.yml | 2 +- package.json | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index be237ec7..e7cb206b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -71,7 +71,7 @@ commands: default: "" steps: - run: wget -qO - https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key | apt-key add - - - run: apt-get update || true && apt-get install -y ca-certificates libxtst-dev libpng++-dev && apt-get update && apt-get -y install << parameters.apt_opts >> + - run: apt-get update || true && apt-get install -y ca-certificates libxtst-dev libpng++-dev gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && apt-get update && apt-get -y install << parameters.apt_opts >> - run: wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/v4.20.1/yq_linux_amd64 && chmod a+x /usr/local/bin/yq update_image: description: "Update image" diff --git a/package.json b/package.json index 1496386c..1abc3d5b 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,8 @@ "build": "npm-run-all build:*", "build:main": "webpack-cli --config webpack.config.main.js", "build:renderer": "webpack-cli --config webpack.config.renderer.js", + "build-prod": "cross-env NODE_ENV=production npm-run-all check-build-config build", + "build-prod-upgrade": "cross-env NODE_ENV=production CAN_UPGRADE=true npm-run-all check-build-config build", "build-robotjs": "cross-env CL='/std:c++17' electron-rebuild -m ./node_modules/robotjs", "start": "electron dist/ --disable-dev-mode", "restart": "npm run build && npm run start", @@ -47,18 +49,20 @@ "test:unit": "jest", "test:unit-ci": "jest --runInBand", "test:coverage": "jest --coverage", - "package:all": "cross-env NODE_ENV=production npm-run-all check-build-config package:windows package:windows-nsis package:mac package:mac-universal package:linux", - "package:windows": "cross-env NODE_ENV=production npm-run-all check-build-config build && electron-builder --win zip --x64 --ia32 --arm64 --publish=never", - "package:windows-nsis": "cross-env NODE_ENV=production CAN_UPGRADE=true npm-run-all check-build-config build && electron-builder --win zip nsis --x64 --ia32 --arm64 --publish=never", - "package:mac": "cross-env NODE_ENV=production npm-run-all check-build-config build && electron-builder --mac --x64 --arm64 --publish=never", - "package:mac-with-universal": "cross-env NODE_ENV=production npm-run-all check-build-config build && electron-builder --mac --x64 --arm64 --universal --publish=never", + "package:all": "cross-env NODE_ENV=production npm-run-all package:windows package:windows-nsis package:mac package:mac-with-universal package:linux", + "package:windows": "npm-run-all build-prod && electron-builder --win zip --x64 --ia32 --arm64 --publish=never", + "package:windows-nsis": "npm-run-all build-prod-upgrade && electron-builder --win zip nsis --x64 --ia32 --arm64 --publish=never", + "package:mac": "npm-run-all build-prod && electron-builder --mac --x64 --arm64 --publish=never", + "package:mac-with-universal": "npm-run-all build-prod && electron-builder --mac --x64 --arm64 --universal --publish=never", "package:mas": "cross-env NODE_ENV=production IS_MAC_APP_STORE=true npm-run-all check-build-config build && electron-builder --mac mas --universal --publish=never", "package:mas-dev": "cross-env NODE_ENV=production IS_MAC_APP_STORE=true npm-run-all check-build-config build && electron-builder --mac mas-dev --universal --publish=never", - "package:linux": "npm-run-all package:linux-*", - "package:linux-appImage": "cross-env NODE_ENV=production CAN_UPGRADE=true npm-run-all check-build-config build && electron-builder --linux tar.gz appimage --x64 --arm64 --publish=never", - "package:linux-deb": "cross-env NODE_ENV=production npm-run-all check-build-config build && electron-builder --linux tar.gz deb --x64 --arm64 --publish=never", - "package:linux-rpm": "cross-env NODE_ENV=production npm-run-all check-build-config build && electron-builder --linux tar.gz rpm --x64 --arm64 --publish=never", - "package:linux-targz": "cross-env NODE_ENV=production npm-run-all check-build-config build && electron-builder --linux tar.gz --x64 --arm64 --publish=never", + "package:linux": "npm-run-all package:linux-all package:linux-appImage", + "package:linux-appImage": "npm-run-all build-prod-upgrade package:linux-appImage-x64 package:linux-appImage-arm64", + "package:linux-appImage-x64": "electron-builder --linux tar.gz appimage --x64 --publish=never", + "package:linux-appImage-arm64": "cross-env CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ electron-builder --linux tar.gz appimage --arm64 --publish=never", + "package:linux-all": "npm-run-all build-prod package:linux-all-x64 package:linux-all-arm64", + "package:linux-all-x64": "electron-builder --linux tar.gz deb rpm --x64 --publish=never", + "package:linux-all-arm64": "cross-env CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ electron-builder --linux tar.gz deb rpm --arm64 --publish=never", "lint:js": "eslint --ignore-path .gitignore --ignore-pattern node_modules --ext .js --ext .jsx --ext .ts --ext .tsx .", "lint:js-quiet": "eslint --ignore-path .gitignore --ignore-pattern node_modules --ext .js --ext .jsx --ext .ts --ext .tsx . --quiet", "fix:js": "eslint --ignore-path .gitignore --ignore-pattern node_modules --quiet --ext .js --ext .jsx --ext .ts --ext .tsx . --fix",