mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-18 01:54:05 +00:00
### Description This PR is to update the win-ort-main branch to the tip main branch as of 2025-01-16. ### Motivation and Context This update includes the OpenVino fix for debug builds. --------- Signed-off-by: Liqun Fu <liqfu@microsoft.com> Signed-off-by: Liqun Fu <liqun.fu@microsoft.com> Signed-off-by: Junze Wu <junze.wu@intel.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Jianhui Dai <jianhui.j.dai@intel.com> Co-authored-by: Yueqing Zhang <yuz75@Pitt.edu> Co-authored-by: amancini-N <63410090+amancini-N@users.noreply.github.com> Co-authored-by: Adrian Lizarraga <adlizarraga@microsoft.com> Co-authored-by: liqun Fu <liqfu@microsoft.com> Co-authored-by: Guenther Schmuelling <guschmue@microsoft.com> Co-authored-by: Yifan Li <109183385+yf711@users.noreply.github.com> Co-authored-by: yf711 <yifanl@microsoft.com> Co-authored-by: Wanming Lin <wanming.lin@intel.com> Co-authored-by: wejoncy <wejoncy@163.com> Co-authored-by: wejoncy <wejoncy@.com> Co-authored-by: Scott McKay <skottmckay@gmail.com> Co-authored-by: Changming Sun <chasun@microsoft.com> Co-authored-by: Jean-Michaël Celerier <jeanmichael.celerier+github@gmail.com> Co-authored-by: Dmitry Deshevoy <mityada@gmail.com> Co-authored-by: xhcao <xinghua.cao@intel.com> Co-authored-by: Yueqing Zhang <yueqingz@amd.com> Co-authored-by: Yulong Wang <7679871+fs-eire@users.noreply.github.com> Co-authored-by: Jiajia Qin <jiajiaqin@microsoft.com> Co-authored-by: Wu, Junze <junze.wu@intel.com> Co-authored-by: Jian Chen <cjian@microsoft.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com> Co-authored-by: Prathik Rao <prathik.rao@gmail.com> Co-authored-by: wonchung-microsoft <wonchung@microsoft.com> Co-authored-by: Vincent Wang <wangwchpku@outlook.com> Co-authored-by: PARK DongHa <luncliff@gmail.com> Co-authored-by: Hector Li <hecli@microsoft.com> Co-authored-by: Sam Webster <13457618+samwebster@users.noreply.github.com> Co-authored-by: Adrian Lizarraga <adrianlm2@gmail.com> Co-authored-by: Preetha Veeramalai <preetha.veeramalai@intel.com> Co-authored-by: jatinwadhwa921 <jatin.wadhwa@intel.com> Co-authored-by: Satya Kumar Jandhyala <satya.k.jandhyala@gmail.com> Co-authored-by: Corentin Maravat <101636442+cocotdf@users.noreply.github.com> Co-authored-by: Xiaoyu <85524621+xiaoyu-work@users.noreply.github.com> Co-authored-by: Tianlei Wu <tlwu@microsoft.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jie Chen <jie.a.chen@intel.com> Co-authored-by: Jianhui Dai <jianhui.j.dai@intel.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com> Co-authored-by: Baiju Meswani <bmeswani@microsoft.com> Co-authored-by: kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> Co-authored-by: Justin Chu <justinchuby@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Ted Themistokleous <107195283+TedThemistokleous@users.noreply.github.com> Co-authored-by: Jeff Daily <jeff.daily@amd.com> Co-authored-by: Artur Wojcik <artur.wojcik@outlook.com> Co-authored-by: Ted Themistokleous <tedthemistokleous@amd.com> Co-authored-by: Xinya Zhang <Xinya.Zhang@amd.com> Co-authored-by: ikalinic <ilija.kalinic@amd.com> Co-authored-by: sstamenk <sstamenk@amd.com> Co-authored-by: Yi-Hong Lyu <yilyu@microsoft.com> Co-authored-by: Ti-Tai Wang <titaiwang@microsoft.com>
257 lines
8.3 KiB
YAML
257 lines
8.3 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
|
|
|
|
jobs:
|
|
ARM64-Xcode16:
|
|
runs-on: macos-15
|
|
|
|
env:
|
|
xcode_version: 16
|
|
|
|
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
|
|
|
|
ARM64-Xcode16-targeting-iphonesimulator:
|
|
runs-on: macos-15
|
|
|
|
env:
|
|
xcode_version: 16
|
|
|
|
strategy:
|
|
matrix:
|
|
target_arch: [x86_64, arm64]
|
|
|
|
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 for iphonesimulator ${{ matrix.target_arch }}
|
|
shell: bash
|
|
run: |
|
|
python ./tools/ci_build/build.py \
|
|
--build_dir ./build \
|
|
--update \
|
|
--build --parallel \
|
|
--test \
|
|
--build_apple_framework \
|
|
--use_xcode \
|
|
--use_coreml \
|
|
--use_xnnpack \
|
|
--use_binskim_compliant_compile_flags \
|
|
--ios \
|
|
--apple_deploy_target=15.1 \
|
|
--apple_sysroot=iphonesimulator \
|
|
--osx_arch=${{ matrix.target_arch }}
|
|
|
|
Vcpkg:
|
|
runs-on: macos-13
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ env.python_version }}
|
|
|
|
- name: "Run Homebrew"
|
|
run: brew install autoconf automake autoconf-archive
|
|
|
|
- name: "Run vcpkg(x64-osx)"
|
|
uses: lukka/run-vcpkg@v11
|
|
with:
|
|
vcpkgDirectory: "${{ runner.temp }}/vcpkg"
|
|
vcpkgGitCommitId: "b322364f06308bdd24823f9d8f03fe0cc86fd46f" # 2024.12.16
|
|
runVcpkgInstall: true # vcpkg install --x-manifest-root cmake --x-install-root .build --overlay-triplets cmake/vcpkg-triplets/default
|
|
vcpkgJsonGlob: "cmake/vcpkg.json"
|
|
vcpkgConfigurationJsonGlob: "cmake/vcpkg-configuration.json"
|
|
env:
|
|
VCPKG_INSTALLED_DIR: "${{ github.workspace }}/.build"
|
|
VCPKG_DEFAULT_TRIPLET: "x64-osx"
|
|
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/cmake/vcpkg-triplets/default"
|
|
# VCPKG_BINARY_SOURCES: "default" # https://learn.microsoft.com/en-us/vcpkg/reference/binarycaching
|
|
|
|
- name: "Run compile_schema.py"
|
|
run: |
|
|
set -e -x
|
|
# Runner's host triplet should be x64-osx or arm64-osx
|
|
export FLATC_DIR="${{ github.workspace }}/.build/${{ runner.arch }}-osx/tools/flatbuffers"
|
|
export PATH="$FLATC_DIR:$PATH"
|
|
flatc --version
|
|
python onnxruntime/core/flatbuffers/schema/compile_schema.py --flatc "$(which flatc)"
|
|
python onnxruntime/lora/adapter_format/compile_schema.py --flatc "$(which flatc)"
|
|
|
|
- name: "Detect protoc"
|
|
id: protoc-detect
|
|
run: |
|
|
export PROTOC_DIR="${{ github.workspace }}/.build/${{ runner.arch }}-osx/tools/protobuf"
|
|
export PATH="$PROTOC_DIR:$PATH"
|
|
protoc --version
|
|
echo "protoc_path=$(which protoc)" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: "Run build.py(x64-osx)"
|
|
run: |
|
|
python ./tools/ci_build/build.py \
|
|
--build_dir "build/x64-osx" \
|
|
--skip_submodule_sync \
|
|
--skip_tests \
|
|
--compile_no_warning_as_error \
|
|
--parallel \
|
|
--path_to_protoc_exe "${{ steps.protoc-detect.outputs.protoc_path }}" \
|
|
--osx_arch x86_64 \
|
|
--use_vcpkg \
|
|
--cmake_extra_defines "CMAKE_TOOLCHAIN_FILE:FILEPATH=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" \
|
|
--cmake_extra_defines "VCPKG_TARGET_TRIPLET=x64-osx" \
|
|
--cmake_extra_defines "VCPKG_INSTALLED_DIR:PATH=${{ github.workspace }}/.build" \
|
|
--cmake_extra_defines "VCPKG_INSTALL_OPTIONS=--x-feature=tests"
|
|
env:
|
|
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/cmake/vcpkg-triplets/default"
|
|
shell: bash
|
|
|
|
- name: "Run vcpkg(arm64-osx)"
|
|
uses: lukka/run-vcpkg@v11
|
|
with:
|
|
vcpkgDirectory: "${{ runner.temp }}/vcpkg"
|
|
doNotUpdateVcpkg: true
|
|
runVcpkgInstall: true # vcpkg install --x-manifest-root cmake --x-install-root .build --overlay-triplets cmake/vcpkg-triplets/default
|
|
vcpkgJsonGlob: "cmake/vcpkg.json"
|
|
vcpkgConfigurationJsonGlob: "cmake/vcpkg-configuration.json"
|
|
env:
|
|
VCPKG_INSTALLED_DIR: "${{ github.workspace }}/.build"
|
|
VCPKG_DEFAULT_TRIPLET: "arm64-osx"
|
|
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/cmake/vcpkg-triplets/default"
|
|
# VCPKG_BINARY_SOURCES: "default" # https://learn.microsoft.com/en-us/vcpkg/reference/binarycaching
|
|
|
|
- name: "Run build.py(arm64-osx)"
|
|
run: |
|
|
python ./tools/ci_build/build.py \
|
|
--build_dir "build/arm64-osx" \
|
|
--skip_submodule_sync \
|
|
--skip_tests \
|
|
--compile_no_warning_as_error \
|
|
--parallel \
|
|
--path_to_protoc_exe "${{ steps.protoc-detect.outputs.protoc_path }}" \
|
|
--osx_arch arm64 \
|
|
--use_vcpkg \
|
|
--cmake_extra_defines "CMAKE_TOOLCHAIN_FILE:FILEPATH=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" \
|
|
--cmake_extra_defines "VCPKG_TARGET_TRIPLET=arm64-osx" \
|
|
--cmake_extra_defines "VCPKG_INSTALLED_DIR:PATH=${{ github.workspace }}/.build" \
|
|
--cmake_extra_defines "VCPKG_INSTALL_OPTIONS=--x-feature=tests"
|
|
env:
|
|
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/cmake/vcpkg-triplets/default"
|
|
shell: bash
|
|
|
|
Objective-C-StaticAnalysis:
|
|
runs-on: macos-14
|
|
|
|
env:
|
|
xcode_version: 15.2
|
|
|
|
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
|