From 0428495a91ed12eab72cc5398d126a789a20b77a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Sun, 11 Oct 2020 11:37:48 +0300 Subject: [PATCH 1/4] [podspec] Build for macOS 10.13 and arm64 --- hermes.podspec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hermes.podspec b/hermes.podspec index 4a9b11733d0..9d0382bc1cf 100644 --- a/hermes.podspec +++ b/hermes.podspec @@ -7,12 +7,14 @@ module HermesHelper # BUILD_TYPE = :debug BUILD_TYPE = :release + DEPLOYMENT_TARGET = "10.13" + def self.command_exists?(bin) "command -v #{bin} > /dev/null 2>&1" end def self.cmake_configuration - "-DHERMES_ENABLE_DEBUGGER:BOOLEAN=true -DHERMES_ENABLE_FUZZING:BOOLEAN=false -DHERMES_ENABLE_TEST_SUITE:BOOLEAN=false -DHERMES_BUILD_APPLE_FRAMEWORK:BOOLEAN=true -DHERMES_BUILD_APPLE_DSYM:BOOLEAN=true" + "-DHERMES_ENABLE_DEBUGGER:BOOLEAN=true -DHERMES_ENABLE_FUZZING:BOOLEAN=false -DHERMES_ENABLE_TEST_SUITE:BOOLEAN=false -DHERMES_BUILD_APPLE_FRAMEWORK:BOOLEAN=true -DHERMES_BUILD_APPLE_DSYM:BOOLEAN=true -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=#{DEPLOYMENT_TARGET} -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64;arm64" end def self.configure_command @@ -22,14 +24,14 @@ end Pod::Spec.new do |spec| spec.name = "hermes" - spec.version = "0.5.1" + spec.version = "0.5.2-rc.1" spec.summary = "Hermes is a small and lightweight JavaScript engine optimized for running React Native." spec.description = "Hermes is a JavaScript engine optimized for fast start-up of React Native apps. It features ahead-of-time static optimization and compact bytecode." spec.homepage = "https://hermesengine.dev" spec.license = { type: "MIT", file: "LICENSE" } spec.author = "Facebook" spec.source = { git: "https://github.com/facebook/hermes.git", tag: "v#{spec.version}" } - spec.platforms = { :osx => "10.14" } + spec.platforms = { :osx => HermesHelper::DEPLOYMENT_TARGET } spec.preserve_paths = ["destroot/bin/*"].concat(HermesHelper::BUILD_TYPE == :debug ? ["**/*.{h,c,cpp}"] : []) spec.source_files = "destroot/include/**/*.h" From f14b1bc03b797e676603bfe47b7cf6b568254a0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Sun, 11 Oct 2020 11:39:35 +0300 Subject: [PATCH 2/4] [circle] Build macOS artefacts for arm64 --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0cb79467870..761594d83ea 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -182,7 +182,7 @@ jobs: macos: macos: - xcode: "10.0.0" + xcode: "12.0.0-beta" environment: - HERMES_WS_DIR: /tmp/hermes - TERM: dumb @@ -204,7 +204,7 @@ jobs: name: Build Hermes for macOS command: | cd "$HERMES_WS_DIR" - hermes/utils/build/configure.py --distribute --cmake-flags='-DHERMES_BUILD_APPLE_FRAMEWORK:BOOLEAN=false' + hermes/utils/build/configure.py --distribute --cmake-flags='-DHERMES_BUILD_APPLE_FRAMEWORK:BOOLEAN=false -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.13 -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64;arm64' cmake --build ./build_release --target github-cli-release - run: name: Copy artifacts @@ -228,7 +228,7 @@ jobs: build-macos-runtime: macos: - xcode: "10.3.0" + xcode: "12.0.0-beta" environment: - HERMES_WS_DIR: /tmp/hermes - TERM: dumb @@ -302,7 +302,7 @@ jobs: test-macos-runtime-build-and-cocoapods-integration: macos: - xcode: "10.3.0" + xcode: "12.0.0-beta" environment: - TERM: dumb # Homebrew currently breaks while updating: From 609c27b0a28285c8de41556f9731b89b31541503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Mon, 12 Oct 2020 11:44:38 +0300 Subject: [PATCH 3/4] [circleci] Build separately to around timeout --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 761594d83ea..cc7122d0cd0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -251,6 +251,7 @@ jobs: command: | cd "$HERMES_WS_DIR" hermes/utils/build/configure.py --distribute --cmake-flags="$(ruby -rcocoapods-core -e 'load %{hermes/hermes.podspec}; puts HermesHelper.cmake_configuration') -DCMAKE_INSTALL_PREFIX:PATH=../destroot" + cmake --build ./build_release cmake --build ./build_release --target hermes-runtime-darwin-cocoapods-release - run: name: Copy artifacts From 1ecef09c5858661ff78ed2b7d8f0dd1ea1b4fabf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 27 Oct 2020 10:55:45 +0100 Subject: [PATCH 4/4] Bump version to 0.5.3 --- CMakeLists.txt | 4 ++-- android/build.gradle | 2 +- hermes.podspec | 2 +- npm/package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f80bf51b9b..6bcbcc1d61d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,10 +63,10 @@ endif() # - npm/package.json # - hermes.podspec project(Hermes - VERSION 0.5.2 + VERSION 0.5.3 LANGUAGES C CXX) # Optional suffix like "-rc3" -set(VERSION_SUFFIX "-rc1") +set(VERSION_SUFFIX "") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/") diff --git a/android/build.gradle b/android/build.gradle index cfedc249b27..1497489e960 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,7 +7,7 @@ // This must be consistent with the release_version in npm/package.json // and the HERMES_RELEASE_VERSION in CMakeLists.txt -def release_version = "0.5.2-rc1" +def release_version = "0.5.3" buildscript { ext { diff --git a/hermes.podspec b/hermes.podspec index 9d0382bc1cf..90637e01fd8 100644 --- a/hermes.podspec +++ b/hermes.podspec @@ -24,7 +24,7 @@ end Pod::Spec.new do |spec| spec.name = "hermes" - spec.version = "0.5.2-rc.1" + spec.version = "0.5.3" spec.summary = "Hermes is a small and lightweight JavaScript engine optimized for running React Native." spec.description = "Hermes is a JavaScript engine optimized for fast start-up of React Native apps. It features ahead-of-time static optimization and compact bytecode." spec.homepage = "https://hermesengine.dev" diff --git a/npm/package.json b/npm/package.json index 33b209bd528..8f6efea010e 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,5 +1,5 @@ { - "version": "0.5.2-rc1", + "version": "0.5.3", "scripts": { "unpack-builds": "node unpack-builds.js", "unpack-builds-dev": "node unpack-builds.js --dev",