mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
### Description Disable using CoreML ML Program for a matmul where one of the inputs is 1D as the CoreML implementation appears to be broken. See https://github.com/apple/coremltools/issues/2263 Add some debugging notes. ### Motivation and Context Fix failing test on macos-14.
108 lines
2.9 KiB
YAML
108 lines
2.9 KiB
YAML
name: Mac_CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- rel-*
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- rel-*
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
python_version: 3.11
|
|
xcode_version: 15.2
|
|
|
|
jobs:
|
|
ARM64:
|
|
runs-on: macos-14
|
|
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ env.python_version }}
|
|
|
|
- name: Verify ARM64 machine
|
|
shell: python
|
|
run: |
|
|
import platform
|
|
assert platform.machine() == "arm64", "This job expects to be run on an ARM64 machine."
|
|
|
|
- name: Use Xcode ${{ env.xcode_version }}
|
|
shell: bash
|
|
run: |
|
|
XCODE_DEVELOPER_DIR="/Applications/Xcode_${{ env.xcode_version }}.app/Contents/Developer"
|
|
sudo xcode-select --switch "${XCODE_DEVELOPER_DIR}"
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build and test
|
|
shell: bash
|
|
run: |
|
|
python ./tools/ci_build/build.py \
|
|
--build_dir ./build \
|
|
--update \
|
|
--build --parallel \
|
|
--test \
|
|
--build_shared_lib \
|
|
--build_objc \
|
|
--use_coreml \
|
|
--use_xnnpack \
|
|
--use_binskim_compliant_compile_flags
|
|
|
|
Objective-C-StaticAnalysis:
|
|
runs-on: macos-14
|
|
|
|
timeout-minutes: 30
|
|
|
|
steps:
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ env.python_version }}
|
|
|
|
- name: Use Xcode ${{ env.xcode_version }}
|
|
shell: bash
|
|
run: |
|
|
XCODE_DEVELOPER_DIR="/Applications/Xcode_${{ env.xcode_version }}.app/Contents/Developer"
|
|
sudo xcode-select --switch "${XCODE_DEVELOPER_DIR}"
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Generate compile_commands.json and ONNX protobuf files
|
|
shell: bash
|
|
run: |
|
|
python ./tools/ci_build/build.py \
|
|
--build_dir ./build \
|
|
--cmake_generator "Unix Makefiles" \
|
|
--config Debug \
|
|
--build_shared_lib \
|
|
--use_coreml \
|
|
--build_objc \
|
|
--enable_training_apis \
|
|
--cmake_extra_defines CMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
|
--use_binskim_compliant_compile_flags \
|
|
--update \
|
|
--build --parallel \
|
|
--target onnx_proto
|
|
|
|
- name: Analyze Objective-C/C++ source code
|
|
shell: bash
|
|
run: |
|
|
CLANG_TIDY_CHECKS="-*,clang-analyzer-*"
|
|
|
|
"$(brew --prefix llvm@15)/bin/clang-tidy" \
|
|
-p=./build/Debug \
|
|
--checks="${CLANG_TIDY_CHECKS}" \
|
|
--warnings-as-errors="${CLANG_TIDY_CHECKS}" \
|
|
--header-filter="objectivec/include|objectivec|onnxruntime/core" \
|
|
./objectivec/*.mm \
|
|
./onnxruntime/core/platform/apple/logging/apple_log_sink.mm \
|
|
./onnxruntime/core/providers/coreml/model/*.mm
|