Repository: microsoft/onnxruntime
Pull request #23293: Upgrade current MacOS-13 to 14
Author: login: jchen351
Created: 2025-01-08T20:05:45Z | Merged: 2025-03-18T22:24:34Z

### Description
Upgrade current MacOS-13 to 14


### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->

- [x] Update the RN to 0.73.x+ to have the newer version of boost





Diff:
diff --git a/cmake/CMakePresets.json b/cmake/CMakePresets.json
index 4987edaf85513..8d63912f6eaee 100644
--- a/cmake/CMakePresets.json
+++ b/cmake/CMakePresets.json
@@ -109,6 +109,29 @@
                 "rhs": "Darwin"
             }
         },
+        {
+            "name": "arm64-osx",
+            "inherits": [
+                "unit-test"
+            ],
+            "generator": "Xcode",
+            "binaryDir": "${sourceParentDir}/cmake_build/arm64-osx",
+            "installDir": "${sourceParentDir}/cmake_build/out",
+            "cacheVariables": {
+                "CMAKE_OSX_ARCHITECTURES": "arm64",
+                "onnxruntime_BUILD_SHARED_LIB": true,
+                "onnxruntime_USE_XNNPACK": false,
+                "onnxruntime_USE_COREML": true,
+                "onnxruntime_BUILD_OBJC": true,
+                "onnxruntime_BUILD_APPLE_FRAMEWORK": true,
+                "CMAKE_CONFIGURATION_TYPES": "Debug;Release"
+            },
+            "condition": {
+                "type": "equals",
+                "lhs": "${hostSystemName}",
+                "rhs": "Darwin"
+            }
+        },
         {
             "name": "x64-osx-vcpkg",
             "inherits": [
diff --git a/js/react_native/e2e/.detoxrc.js b/js/react_native/e2e/.detoxrc.js
index e886a363d378b..1d49f06213e51 100644
--- a/js/react_native/e2e/.detoxrc.js
+++ b/js/react_native/e2e/.detoxrc.js
@@ -38,8 +38,8 @@ module.exports = {
     simulator: {
       type: 'ios.simulator',
       device: {
-        type: 'iPhone 14',
-        os: 'iOS 16.4',
+        type: 'iPhone 15',
+        os: 'iOS 17.4',
       },
     },
     attached: {
diff --git a/onnxruntime/core/providers/coreml/builders/impl/base_op_builder.cc b/onnxruntime/core/providers/coreml/builders/impl/base_op_builder.cc
index 2817f34bc64f2..9e7fcd788664c 100644
--- a/onnxruntime/core/providers/coreml/builders/impl/base_op_builder.cc
+++ b/onnxruntime/core/providers/coreml/builders/impl/base_op_builder.cc
@@ -6,6 +6,7 @@
 #include "core/providers/coreml/builders/helper.h"
 #include "core/providers/coreml/builders/impl/base_op_builder.h"
 #include "core/providers/coreml/builders/model_builder.h"
+#include "core/providers/coreml/model/host_utils.h"
 #include "core/providers/shared/utils/utils.h"
 
 using namespace CoreML::Specification;
@@ -113,10 +114,12 @@ bool BaseOpBuilder::IsInputDtypeSupport(const Node& node, size_t idx,
     return true;
   }
 
+#if CAN_BUILD_COREML6_OR_LATER
   // only MLProgram support FP16
   if (input_params.create_mlprogram && input_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT16) {
     return true;
   }
+#endif
 
   LOGS(logger, VERBOSE) << "[" << node.OpType() << "] Input type: [" << input_type << "] is not currently supported";
   return false;
diff --git a/onnxruntime/core/providers/coreml/model/host_utils.h b/onnxruntime/core/providers/coreml/model/host_utils.h
index 145c64e5320d3..31ee2bd3e2494 100644
--- a/onnxruntime/core/providers/coreml/model/host_utils.h
+++ b/onnxruntime/core/providers/coreml/model/host_utils.h
@@ -43,7 +43,13 @@
 #define API_AVAILABLE_COREML7 API_AVAILABLE(macos(14), ios(17))
 #define API_AVAILABLE_COREML8 API_AVAILABLE(macos(15), ios(18))
 
-// @available is used in implementation code
+// The previous macros are used in header files to declare the availability of the APIs.
+// The following macros are used in  build time checks to determine if the APIs are available.
+#define CAN_BUILD_COREML8_OR_LATER (__MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000)
+#define CAN_BUILD_COREML7_OR_LATER (__MAC_OS_X_VERSION_MAX_ALLOWED >= 140000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 170000)
+#define CAN_BUILD_COREML6_OR_LATER (__MAC_OS_X_VERSION_MAX_ALLOWED >= 130000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 160000)
+
+// @available is used in implementation code to check the availability of the APIs at runtime.
 // Base required OS to run CoreML Specification Version 4 (Core ML 3)
 #define HAS_COREML3_OR_LATER @available(macOS 10.15, iOS 13, *)
 #define HAS_COREML4_OR_LATER @available(macOS 11, iOS 14, *)
diff --git a/onnxruntime/core/providers/coreml/model/model.mm b/onnxruntime/core/providers/coreml/model/model.mm
index 5211b89ec17c6..71664021ea2fb 100644
--- a/onnxruntime/core/providers/coreml/model/model.mm
+++ b/onnxruntime/core/providers/coreml/model/model.mm
@@ -363,13 +363,12 @@ void ProfileComputePlan(NSURL* compileUrl, MLModelConfiguration* config) {
 #endif
 }
 
-#if __has_include(<CoreML/MLOptimizationHints.h>)
+#if __has_include(<CoreML/MLOptimizationHints.h>) && CAN_BUILD_COREML8_OR_LATER
 #define HAS_COREMLOPTIMIZATIONHINT 1
 #else
 #define HAS_COREMLOPTIMIZATIONHINT 0
 #endif
 
-API_AVAILABLE_COREML8
 void ConfigureOptimizationHints(MLModelConfiguration* config, const CoreMLOptions& coreml_options) {
 #if HAS_COREMLOPTIMIZATIONHINT
   MLOptimizationHints* optimizationHints = [[MLOptimizationHints alloc] init];
diff --git a/tools/ci_build/github/azure-pipelines/mac-ios-packaging-pipeline.yml b/tools/ci_build/github/azure-pipelines/mac-ios-packaging-pipeline.yml
index 23c968f35a27f..70d8e954808a5 100644
--- a/tools/ci_build/github/azure-pipelines/mac-ios-packaging-pipeline.yml
+++ b/tools/ci_build/github/azure-pipelines/mac-ios-packaging-pipeline.yml
@@ -56,7 +56,7 @@ extends:
     # Update the pool with your team's 1ES hosted pool.
     pool:
       name: "Azure Pipelines"
-      image: "macOS-13"
+      image: "macOS-14"
       os: macOS
     sdl:
       sourceAnalysisPool:
diff --git a/tools/ci_build/github/azure-pipelines/nodejs/templates/test_macos.yml b/tools/ci_build/github/azure-pipelines/nodejs/templates/test_macos.yml
index 4518a168879a2..a2a0e3bcace9f 100644
--- a/tools/ci_build/github/azure-pipelines/nodejs/templates/test_macos.yml
+++ b/tools/ci_build/github/azure-pipelines/nodejs/templates/test_macos.yml
@@ -11,7 +11,7 @@ stages:
       clean: all
     timeoutInMinutes:  120
     pool:
-      vmImage: 'macOS-13'
+      vmImage: 'macOS-14'
 
     variables:
     - name: OnnxRuntimeBuildDirectory
diff --git a/tools/ci_build/github/azure-pipelines/nuget/templates/test_macos.yml b/tools/ci_build/github/azure-pipelines/nuget/templates/test_macos.yml
index 07d21333270a8..a6e38d0bc93f3 100644
--- a/tools/ci_build/github/azure-pipelines/nuget/templates/test_macos.yml
+++ b/tools/ci_build/github/azure-pipelines/nuget/templates/test_macos.yml
@@ -11,7 +11,7 @@ stages:
     workspace:
       clean: all
     pool:
-      vmImage: 'macOS-13'
+      vmImage: 'macOS-14'
 
     variables:
     - name: OnnxRuntimeBuildDirectory
diff --git a/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml b/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml
index 6b421184c490e..78c07c28d6f4e 100644
--- a/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml
+++ b/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml
@@ -427,7 +427,7 @@ stages:
   - job: IosDynamicFramework
     timeoutInMinutes: 120
     pool:
-      vmImage: "macOS-13"
+      vmImage: "macOS-14"
 
     steps:
     - task: UsePythonVersion@0
@@ -463,7 +463,7 @@ stages:
   - job: IosMinimalTrainingBuild
     timeoutInMinutes: 120
     pool:
-      vmImage: "macOS-13"
+      vmImage: "macOS-14"
 
     steps:
     - task: UsePythonVersion@0
diff --git a/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml b/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml
index 7a78c6ba0fcdf..01c1366107292 100644
--- a/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml
+++ b/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml
@@ -29,7 +29,7 @@ stages:
       parameters:
         job_name: Test_MAC_Wheels
         machine_pool:
-          vmImage: 'macOS-13'
+          vmImage: 'macOS-14'
         itemPattern: '*/*mac*x86_64.whl'
         arch: 'x86_64'
     - template: templates/py-package-smoking-test.yml
diff --git a/tools/ci_build/github/azure-pipelines/stages/py-cpu-packaging-stage.yml b/tools/ci_build/github/azure-pipelines/stages/py-cpu-packaging-stage.yml
index 5e783607e3622..d64ee07aa2131 100644
--- a/tools/ci_build/github/azure-pipelines/stages/py-cpu-packaging-stage.yml
+++ b/tools/ci_build/github/azure-pipelines/stages/py-cpu-packaging-stage.yml
@@ -201,7 +201,7 @@ stages:
         clean: all
       pool:
         name: "Azure Pipelines"
-        image: "macOS-13"
+        image: "macOS-14"
         os: macOS
       variables:
         MACOSX_DEPLOYMENT_TARGET: '13.3'
diff --git a/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml b/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml
index 3886ceb1ed58f..366ee3fcf4e92 100644
--- a/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml
+++ b/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml
@@ -24,6 +24,8 @@ jobs:
   pool: 'onnxruntime-Ubuntu2204-AMD-CPU'
   workspace:
     clean: all
+  pool:
+    vmImage: 'macOS-14'
   variables:
     runCodesignValidationInjection: false
     ANDROID_AVD_HOME: $(Agent.TempDirectory)
diff --git a/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml b/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml
index a6fe5ac27749b..5031d38029dd5 100644
--- a/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml
+++ b/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml
@@ -123,7 +123,7 @@ stages:
     workspace:
       clean: all
     pool:
-      vmImage: 'macOS-13'
+      vmImage: 'macOS-14'
     timeoutInMinutes: 300
     steps:
     - template: set-version-number-variables-step.yml
@@ -797,7 +797,7 @@ stages:
 
 - template: ../nuget/templates/test_macos.yml
   parameters:
-    AgentPool : macOS-13
+    AgentPool : macOS-14
     ArtifactSuffix: 'CPU'
 
 - template: ../nodejs/templates/test_win.yml
@@ -833,4 +833,4 @@ stages:
     OS: MacOS
     BuildId: ${{ parameters.BuildId }}
     SpecificArtifact: ${{ parameters.SpecificArtifact }}
-    PoolName: 'macOS-13'
+    PoolName: 'macOS-14'
diff --git a/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-pipeline.yml b/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-pipeline.yml
index ab31e592d7d71..8c725c1d6b9a0 100644
--- a/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-pipeline.yml
+++ b/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-pipeline.yml
@@ -68,7 +68,7 @@ stages:
   jobs:
     - job: MacOS_C_API_Package_Publish
       pool:
-          vmImage: 'macOS-13'
+          vmImage: 'macOS-14'
       steps:
       - checkout: none
       - template: flex-downloadPipelineArtifact.yml
diff --git a/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packing-jobs.yml b/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packing-jobs.yml
index 32908753f2909..c7ae7bb3a0026 100644
--- a/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packing-jobs.yml
+++ b/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packing-jobs.yml
@@ -37,7 +37,7 @@ jobs:
     PROTO_CACHE_DIR: $(Pipeline.Workspace)/ccache_proto
     ORT_CACHE_DIR: $(Pipeline.Workspace)/ccache_ort
   pool:
-    vmImage: 'macOS-13'
+    vmImage: 'macOS-14'
   timeoutInMinutes: 300
   steps:
   - checkout: self
diff --git a/tools/ci_build/github/azure-pipelines/templates/react-native-ci.yml b/tools/ci_build/github/azure-pipelines/templates/react-native-ci.yml
index 58ebdd52998ea..c1309d345d819 100644
--- a/tools/ci_build/github/azure-pipelines/templates/react-native-ci.yml
+++ b/tools/ci_build/github/azure-pipelines/templates/react-native-ci.yml
@@ -64,11 +64,11 @@ stages:
   - job: ReactNative_CI_iOS
     ${{ if eq(parameters.is1ES, false) }}:
       pool:
-        vmImage: 'macOS-13'
+        vmImage: 'macOS-14'
     ${{ if eq(parameters.is1ES, true) }}:
       pool:
         name: 'Azure Pipelines'
-        image: 'macOS-13'
+        image: 'macOS-14'
         os: 'macOS'
 
     timeoutInMinutes: 120
@@ -212,7 +212,7 @@ stages:
         scheme: 'OnnxruntimeModuleTest'
         packageApp: false
         destinationPlatformOption: 'iOS'
-        destinationSimulators: 'iPhone 14,OS=16.4'
+        destinationSimulators: 'iPhone 15,OS=17.4'
         workingDirectory: '$(Build.SourcesDirectory)/js/react_native/ios'
         xcprettyArgs: '--output build/reports/test-results.xml'
         publishJUnitResults: true
diff --git a/tools/ci_build/github/azure-pipelines/templates/use-xcode-version.yml b/tools/ci_build/github/azure-pipelines/templates/use-xcode-version.yml
index 2cf698aefa8bd..3c1bfcd60fedd 100644
--- a/tools/ci_build/github/azure-pipelines/templates/use-xcode-version.yml
+++ b/tools/ci_build/github/azure-pipelines/templates/use-xcode-version.yml
@@ -3,7 +3,7 @@
 parameters:
 - name: xcodeVersion
   type: string
-  default: "14.3.1"
+  default: "15.3.0"
 
 steps:
 - bash: |


Reviews:
user: login: github-actions[bot]
body: You can commit the suggested changes from lintrunner.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-01-10T19:41:16Z
user: login: github-actions[bot]
body: You can commit the suggested changes from lintrunner.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-01-10T22:43:08Z
user: login: jchen351
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-02-26T22:16:31Z
user: login: skottmckay
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-11T01:36:56Z
user: login: jchen351
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-11T16:36:10Z
user: login: skottmckay
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-12T22:41:48Z
user: login: github-actions[bot]
body: You can commit the suggested changes from lintrunner.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T23:02:27Z
user: login: skottmckay
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T21:13:22Z

Review comments:
diff_hunk: @@ -369,20 +369,22 @@ void ProfileComputePlan(NSURL* compileUrl, MLModelConfiguration* config) {
 #define HAS_COREMLOPTIMIZATIONHINT 0
 #endif
 
-API_AVAILABLE_COREML8
+
 void ConfigureOptimizationHints(MLModelConfiguration* config, const CoreMLOptions& coreml_options) {
path: onnxruntime/core/providers/coreml/model/model.mm
user: login: github-actions[bot]
body: ````suggestion

void ConfigureOptimizationHints(MLModelConfiguration* config, const CoreMLOptions& coreml_options) {
````
created_at: 2025-01-10T19:41:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -43,6 +43,11 @@
 #define API_AVAILABLE_COREML7 API_AVAILABLE(macos(14), ios(17))
 #define API_AVAILABLE_COREML8 API_AVAILABLE(macos(15), ios(18))
 
+// The previous macros are used in header files to declare the availability of the APIs.
+// The following macros are used in implementation files to check the availability of the APIs.
+#define CAN_USE_COREML8_OR_LATER (__MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000)
+
+
 // @available is used in implementation code
path: onnxruntime/core/providers/coreml/model/host_utils.h
user: login: github-actions[bot]
body: ````suggestion

// @available is used in implementation code
````
created_at: 2025-01-10T22:43:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -52,6 +57,7 @@
 #define HAS_COREML7_OR_LATER @available(macOS 14, iOS 17, *)
 #define HAS_COREML8_OR_LATER @available(macOS 15, iOS 18, *)
 
+
 #endif
path: onnxruntime/core/providers/coreml/model/host_utils.h
user: login: github-actions[bot]
body: ````suggestion

#endif
````
created_at: 2025-01-10T22:43:08Z
author_association: CONTRIBUTOR
diff_hunk: @@ -369,19 +369,18 @@ void ProfileComputePlan(NSURL* compileUrl, MLModelConfiguration* config) {
 #define HAS_COREMLOPTIMIZATIONHINT 0
 #endif
 
-API_AVAILABLE_COREML8
 void ConfigureOptimizationHints(MLModelConfiguration* config, const CoreMLOptions& coreml_options) {
-#if HAS_COREMLOPTIMIZATIONHINT
-  MLOptimizationHints* optimizationHints = [[MLOptimizationHints alloc] init];
-  if (coreml_options.UseStrategy("FastPrediction")) {
-    optimizationHints.specializationStrategy = MLSpecializationStrategyFastPrediction;
-    config.optimizationHints = optimizationHints;
-  } else if (coreml_options.UseStrategy("Default")) {
-    optimizationHints.specializationStrategy = MLSpecializationStrategyDefault;
-    config.optimizationHints = optimizationHints;
-  } else {
-    // not set
-  }
+#if HAS_COREMLOPTIMIZATIONHINT && CAN_USE_COREML8_OR_LATER
+    MLOptimizationHints* optimizationHints = [[MLOptimizationHints alloc] init];
+    if (coreml_options.UseStrategy("FastPrediction")) {
+      optimizationHints.specializationStrategy = MLSpecializationStrategyFastPrediction;
+      config.optimizationHints = optimizationHints;
+    } else if (coreml_options.UseStrategy("Default")) {
+      optimizationHints.specializationStrategy = MLSpecializationStrategyDefault;
+      config.optimizationHints = optimizationHints;
+    } else {
+      // not set
+    }
 #endif
path: onnxruntime/core/providers/coreml/model/model.mm
user: login: github-actions[bot]
body: ````suggestion
#if HAS_COREMLOPTIMIZATIONHINT && CAN_USE_COREML8_OR_LATER
  MLOptimizationHints* optimizationHints = [[MLOptimizationHints alloc] init];
  if (coreml_options.UseStrategy("FastPrediction")) {
    optimizationHints.specializationStrategy = MLSpecializationStrategyFastPrediction;
    config.optimizationHints = optimizationHints;
  } else if (coreml_options.UseStrategy("Default")) {
    optimizationHints.specializationStrategy = MLSpecializationStrategyDefault;
    config.optimizationHints = optimizationHints;
  } else {
    // not set
  }
#endif
````
created_at: 2025-01-10T22:43:08Z
author_association: CONTRIBUTOR
path: cmake/CMakePresets.json
user: login: jchen351
body: Add this file for Apple Silicon Mac developers
created_at: 2025-02-26T22:16:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -43,6 +43,10 @@
 #define API_AVAILABLE_COREML7 API_AVAILABLE(macos(14), ios(17))
 #define API_AVAILABLE_COREML8 API_AVAILABLE(macos(15), ios(18))
 
+// The previous macros are used in header files to declare the availability of the APIs.
+// The following macros are used in implementation files to check the availability of the APIs.
+#define CAN_USE_COREML8_OR_LATER (__MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000)
path: onnxruntime/core/providers/coreml/model/host_utils.h
user: login: skottmckay
body: How does this differ from the HAS_COREML8_OR_LATER define?
created_at: 2025-03-11T01:36:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -43,6 +43,10 @@
 #define API_AVAILABLE_COREML7 API_AVAILABLE(macos(14), ios(17))
 #define API_AVAILABLE_COREML8 API_AVAILABLE(macos(15), ios(18))
 
+// The previous macros are used in header files to declare the availability of the APIs.
+// The following macros are used in implementation files to check the availability of the APIs.
+#define CAN_USE_COREML8_OR_LATER (__MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000)
path: onnxruntime/core/providers/coreml/model/host_utils.h
user: login: jchen351
body: This is complie time check, and the HAS_COREML8_OR_LATER is runtime check. Without CAN_USE_COREML8_OR_LATER, the build would fail.
created_at: 2025-03-11T16:36:10Z
author_association: CONTRIBUTOR
diff_hunk: @@ -369,9 +369,8 @@ void ProfileComputePlan(NSURL* compileUrl, MLModelConfiguration* config) {
 #define HAS_COREMLOPTIMIZATIONHINT 0
 #endif
 
-API_AVAILABLE_COREML8
 void ConfigureOptimizationHints(MLModelConfiguration* config, const CoreMLOptions& coreml_options) {
-#if HAS_COREMLOPTIMIZATIONHINT
+#if HAS_COREMLOPTIMIZATIONHINT && CAN_USE_COREML8_OR_LATER
path: onnxruntime/core/providers/coreml/model/model.mm
user: login: skottmckay
body: could we add the check on CAN_USE_COREML8_OR_LATER to where we define HAS_COREMLOPTIMIZATIONHINT instead of having 2 values being used here?  #Closed
created_at: 2025-03-12T22:41:48Z
author_association: CONTRIBUTOR
diff_hunk: @@ -110,13 +111,15 @@ bool BaseOpBuilder::IsInputDtypeSupport(const Node& node, size_t idx,
 
   // float is supported
   if (input_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT) {
-    return true;
+      return true;
   }
path: onnxruntime/core/providers/coreml/builders/impl/base_op_builder.cc
user: login: github-actions[bot]
body: ````suggestion
  if (input_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT) {
    return true;
  }
````
created_at: 2025-03-13T23:02:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -110,13 +111,15 @@ bool BaseOpBuilder::IsInputDtypeSupport(const Node& node, size_t idx,
 
   // float is supported
   if (input_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT) {
-    return true;
+      return true;
   }
 
+#if CAN_BUILD_COREML6_OR_LATER
   // only MLProgram support FP16
-  if (input_params.create_mlprogram && input_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT16) {
+  if ( input_params.create_mlprogram && input_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT16) {
     return true;
path: onnxruntime/core/providers/coreml/builders/impl/base_op_builder.cc
user: login: github-actions[bot]
body: ````suggestion
  // only MLProgram support FP16
  if (input_params.create_mlprogram && input_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT16) {
    return true;
````
created_at: 2025-03-13T23:02:27Z
author_association: CONTRIBUTOR

PR comments:
user: login: jchen351
created_at: 2025-01-14T21:48:40Z
body: This PR might need to update the RN to 0.73.x so we can get the updated boost.  Current boost is using a deprecated syntax that was eventually removed from C++17 

```
boost/boost/container_hash/hash.hpp:131:33: error: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
        struct hash_base : std::unary_function<T, std::size_t> {};
                           ~~~~~^~~~~~~~~~~~~~

```
author_association: CONTRIBUTOR
user: login: snnn
created_at: 2025-03-19T16:35:32Z
body: Please also help us upgrade the Gtihub Action pipelines to MacOS 14. 
The yaml files are in this folder: https://github.com/microsoft/onnxruntime/tree/main/.github/workflows


author_association: CONTRIBUTOR
user: login: snnn
created_at: 2025-03-31T22:06:33Z
body: @jchen351, iOS packaging pipeline fails after this change. Could you please fix it?
author_association: CONTRIBUTOR