Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
246c219
Make python CUDA package pipeline 1ES compliant (#23802)
jchen351 Mar 10, 2025
773bb4f
Migrate yarn to npm (#22116)
jchen351 Mar 10, 2025
333fbdb
[WebGPU/JSEP] Support group query attention do_rotary attribute (#23524)
satyajandhyala Mar 10, 2025
f18e9fa
Fix npm audit in js/react-native/e2e (#23975)
jchen351 Mar 11, 2025
6443626
Suppress some warnings in WebGPU EP generated by GCC 13 (#23984)
fs-eire Mar 11, 2025
d010acb
Fix NPM audit in js/react-native (#23974)
jchen351 Mar 11, 2025
9118b1d
Bump axios from 1.7.9 to 1.8.2 in /js/node (#23963)
dependabot[bot] Mar 11, 2025
5672cf7
GCC 14: fix insert_or_assign() call (#23955)
stefantalpalaru Mar 12, 2025
d2bf9a7
ADD emsdk env vars to VCPKG_KEEP_ENV_VARS (#23997)
Mar 12, 2025
fe43537
Fix ONNX Runtime Python Test Pipeline (#23990)
jchen351 Mar 12, 2025
16d6f39
[webgpu] Fix the continuation issue (#23999)
qjia7 Mar 12, 2025
9891eb3
[WebGPU EP] Implements Gelu, BiasSplitGelu, and QuickGelu (#23981)
prathikr Mar 12, 2025
6dd6ef9
[Native WebGPU] Added ReduceMax and ReduceSum (#23934)
satyajandhyala Mar 12, 2025
47bd046
Convert Windows CPU CI Pipeline to Github Actions (#23996)
Mar 12, 2025
06482c2
[Fix] Dependencies find_package Eigen error (#23939)
mingyueliuh Mar 12, 2025
5e05729
Update onnxruntime_c_api.h to work with MinGW (#24006)
hsilm Mar 12, 2025
57ddd02
Add DNNL github workflow (#24011)
Mar 13, 2025
7ae606f
Qnn weight sharing improvement (#23945)
HectorSVC Mar 13, 2025
11216a4
Correct generated cmake syntax (#24016)
hans00 Mar 13, 2025
1362e7c
[webgpu] allow to specify UseIndicesTypeAlias for Indices (#24019)
fs-eire Mar 13, 2025
401f24a
[webgpu] allow overloads to Program::AddIndices (#24021)
fs-eire Mar 13, 2025
219c919
fix test for RotaryEmbedding (#24022)
fs-eire Mar 13, 2025
99b78a9
Fix attention bias broadcast (#24017)
tianleiwu Mar 13, 2025
5bd3163
Remove unused parameter in csharp InferenceTest (#24031)
tianleiwu Mar 13, 2025
6bb6d79
[TensorRT EP] Call cudaSetDevice at compute function for handling mul…
chilo-ms Mar 13, 2025
3f71d63
Increase timeout for ARM64-Xcode16-targeting-iphonesimulator (#24030)
edgchen1 Mar 13, 2025
1fc6d8c
Support tvOS build (#24000)
hans00 Mar 14, 2025
cb3f631
[TensorRT EP] Stop enforcing oss parser during Windows debug build (#…
yf711 Mar 14, 2025
9a296a0
Set CMAKE_POLICY_DEFAULT_CMP0069 to NEW to ensure that IPO flags are …
edgchen1 Mar 14, 2025
9f21456
Make Cuda packaging pipeline 1ES compliant (#23806)
jchen351 Mar 14, 2025
7c05e7f
[webgpu/wasm] allow runtime switch between WebGPUEP and JSEP (#24032)
fs-eire Mar 14, 2025
c9c8b48
Move call to MLAS_CPUIDINFO::GetCPUIDInfo() out of MlasSQNBitGemmDisp…
edgchen1 Mar 14, 2025
cc5840b
[webgpu] fix the wrong dispatch size in flash_attention (#24020)
xhcao Mar 14, 2025
41c239d
avoid copy unnecessary files for nodejs pkg (#23992)
fs-eire Mar 14, 2025
5a694bc
Add support for custom position ids and attention bias to GQA CPU ope…
derdeljan-msft Mar 14, 2025
73d9826
[WebNN] Better int64 integration (#23831)
Honry Mar 14, 2025
b896666
Convert Windows GPU pipelines and Windows OpenVino pipeline to Github…
Mar 14, 2025
f22ee08
[ARM CPU] Fix fp16 const initialization on no-fp16 platform (#23978)
fajin-corp Mar 14, 2025
ae501ee
[Native WebGPU EP] Add packedQKV and do_rotary attribute support to G…
satyajandhyala Mar 14, 2025
7942fa7
Whisper Redesigned Solution (#23549)
kunal-vaishnavi Mar 15, 2025
5ef0d21
Windows: Show more useful DLL load errors to say exactly what DLL is …
RyanUnderhill Mar 16, 2025
2bc73ca
Extend CMAKE_CUDA_FLAGS with all Blackwell compute capacity (#23928)
yf711 Mar 17, 2025
f5812d0
[WebGPU] Reduce staging buffers for uploading intializers (#23968)
jchen10 Mar 17, 2025
154e3b7
[WebGPU EP] Implement Remaining Reduction Ops (#24045)
prathikr Mar 17, 2025
91e64fe
Merge branch 'master' into sync_msft_18_3_25
jatinwadhwa921 Mar 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/actions/install-onnxruntime-wheel/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: 'Install ONNX Runtime Wheel'
description: 'Uninstalls existing ONNX Runtime packages and installs a wheel from a specified directory.'
inputs:
whl-directory:
description: 'The directory containing the ONNX Runtime wheel files.'
required: true
runs:
using: 'composite'
steps:
- name: Uninstall onnxruntime packages
shell: pwsh
run: |
python -m pip uninstall -y onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml -qq

- name: Install onnxruntime wheel from specified directory
shell: pwsh
run: |
Get-ChildItem -Path ${{ inputs.whl-directory }}/*.whl | foreach {pip --disable-pip-version-check install --upgrade $_.fullname}
63 changes: 63 additions & 0 deletions .github/actions/locate-vcvarsall-and-setup-env/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: 'Locate vcvarsall and Setup Environment'
description: 'Locates vcvarsall.bat, sets up the environment, and handles PATH updates.'
inputs:
architecture:
description: 'Target architecture (x64 or x86)'
required: true
default: 'x64'
outputs:
vcvarsall_path:
description: "Path to vcvarsall.bat"
value: ${{ steps.find-vcvarsall.outputs.vcvarsall_path }}
runs:
using: "composite"
steps:
- name: Find vcvarsall.bat
id: find-vcvarsall
shell: python # Use Python shell
run: |
import os
import subprocess

vswhere_path = os.path.join(os.environ["ProgramFiles(x86)"], "Microsoft Visual Studio", "Installer", "vswhere.exe")

try:
process = subprocess.run([vswhere_path, "-latest", "-property", "installationPath"], capture_output=True, text=True, check=True)
vs_install_path = process.stdout.strip()
vcvarsall_path = os.path.join(vs_install_path, "VC", "Auxiliary", "Build", "vcvarsall.bat")

if os.path.exists(vcvarsall_path):
print(f"vcvarsall found at: {vcvarsall_path}")
# Use GITHUB_OUTPUT environment variable
with open(os.environ['GITHUB_OUTPUT'], 'a') as f:
f.write(f"vcvarsall_path={vcvarsall_path}\n")
else:
print(f"vcvarsall.bat not found at expected path: {vcvarsall_path}")
# Use 'exit(1)' for Python to properly signal failure to GitHub Actions
exit(1)


except subprocess.CalledProcessError as e:
print(f"Error running vswhere.exe: {e}")
print(f"vswhere output: {e.stdout}")
print(f"vswhere stderr: {e.stderr}")
exit(1) # Exit with a non-zero code on error
except FileNotFoundError:
print(f"vswhere.exe not found at: {vswhere_path}")
exit(1)


- name: Setup Environment
shell: cmd
run: |
REM Get initial environment variables
set > initial_env.txt

REM Call vcvarsall.bat using the output from the previous step
call "${{ steps.find-vcvarsall.outputs.vcvarsall_path }}" ${{ inputs.architecture }}

REM Get environment variables after calling vcvarsall.bat
set > final_env.txt

REM Call the Python script to update the GitHub Actions environment
python ${{ github.action_path }}\update_environment.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
@echo off
setlocal

set vswherepath="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
set vcvarsall_arch=%1
if "%vcvarsall_arch%" == "x86" (
set vcvarsall_arch=x86
) else (
set vcvarsall_arch=x64
)

for /f "usebackq delims=" %%i in (`%vswherepath% -latest -property installationPath`) do (
if exist "%%i\VC\Auxiliary\Build\vcvars%vcvarsall_arch%.bat" (
set "vcvarsall=%%i\VC\Auxiliary\Build\vcvars%vcvarsall_arch%.bat"
)
)

echo "Get initial environment variables"
set > initial_env.txt

echo "Call vcvarsall.bat"
call "%vcvarsall%"

echo "Get environment variables after calling vcvarsall.bat"
set > final_env.txt

echo "Call the Python script to update the GitHub Actions environment"
python "%~dp0\update_environment.py"

endlocal
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import os
import re


def read_env_file(filepath):
env_vars = {}
with open(filepath) as f:
for line in f:
match = re.match(r"^(.*?)=(.*)$", line.strip())
if match:
env_vars[match.group(1).upper()] = match.group(2)
return env_vars


initial_env = read_env_file("initial_env.txt")
final_env = read_env_file("final_env.txt")

for key, value in final_env.items():
if key not in initial_env or initial_env[key] != value:
if key.startswith("_"):
continue
if key.upper() == "PATH":
new_paths = value.split(";")
initial_paths = initial_env.get("PATH", "").split(";")
added_paths = [p for p in new_paths if p not in initial_paths and p]

if added_paths:
print("Adding paths")
with open(os.environ["GITHUB_PATH"], "a") as f:
for path in added_paths:
print(f"Adding PATH: {path}")
f.write(path + os.linesep)
else:
# Use GITHUB_ENV
with open(os.environ["GITHUB_ENV"], "a") as f:
print(f"Setting {key}={value}\n")
f.write(f"{key}={value}\n")
64 changes: 64 additions & 0 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: iOS_CI_on_Mac

on:
push:
branches:
- main
- rel-*
pull_request:
branches:
- main
- rel-*
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
iOS_CI_on_Mac:
runs-on: macos-13
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: false
- name: Use Xcode ${{ env.XCODE_VERSION }}
shell: bash
run: |
set -e -x
XCODE_DEVELOPER_DIR="/Applications/Xcode_${{ env.XCODE_VERSION }}.app/Contents/Developer"
sudo xcode-select --switch "${XCODE_DEVELOPER_DIR}"

- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');

- name: (CPU, CoreML, XNNPACK EPs) Build onnxruntime for iOS x86_64 and run tests using simulator
shell: bash
run: |
python3 ${{ github.workspace }}/tools/ci_build/build.py \
--skip_submodule_sync \
--build_dir ${{ github.workspace }}/iOS \
--build_shared_lib \
--use_coreml \
--use_xnnpack \
--ios \
--apple_sysroot iphonesimulator \
--osx_arch x86_64 \
--apple_deploy_target=15.1 \
--use_xcode \
--config RelWithDebInfo \
--build_apple_framework \
--parallel \
--use_binskim_compliant_compile_flags
env:
ORT_GET_SIMULATOR_DEVICE_INFO_REQUESTED_RUNTIME_VERSION: ${{ env.IOS_SIMULATOR_RUNTIME_VERSION }}

timeout-minutes: 150
env:
XCODE_VERSION: 14.3.1
IOS_SIMULATOR_RUNTIME_VERSION: 16.4
98 changes: 96 additions & 2 deletions .github/workflows/mac.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Mac_CI
name: "MacOS CI Pipeline"

on:
push:
Expand All @@ -19,6 +19,100 @@ env:
python_version: 3.11

jobs:
MacOS_C_API_Packaging_CPU_x86_64:
runs-on: macos-13
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: false

- name: Use Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.python_version }}

- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: '20.x'

- name: Install Java 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
architecture: x64

- name: Set version number variables for Unix
shell: bash
run: |
# Do not output ##vso[] commands with `set -x` or they may be parsed again and include a trailing quote.
set +x

_OnnxRuntimeVersion=$(head -1 ${{ github.workspace }}/VERSION_NUMBER)
echo "OnnxRuntimeVersion=$_OnnxRuntimeVersion"

_OnnxRuntimeGitCommitHash=$(git rev-parse HEAD)
echo "OnnxRuntimeGitCommitHash=$_OnnxRuntimeGitCommitHash"

_OnnxRuntimeGitCommitHash=$(git rev-parse --short=8 HEAD)
echo "OnnxRuntimeGitCommitHashShort=$_OnnxRuntimeGitCommitHash"
working-directory: ${{ github.workspace }}

- name: Use Xcode 14.3.1
shell: bash
run: |
set -e -x
XCODE_DEVELOPER_DIR="/Applications/Xcode_14.3.1.app/Contents/Developer"
sudo xcode-select --switch "${XCODE_DEVELOPER_DIR}"

- name: Setup environment variables
shell: bash
run: |
set -e -x
export PATH=${{ github.workspace }}/installed/bin:$PATH
export ONNX_ML=1
export CMAKE_ARGS="-DONNX_GEN_PB_TYPE_STUBS=ON -DONNX_WERROR=OFF"
python3 -m pip install -r '${{ github.workspace }}/tools/ci_build/github/linux/docker/scripts/requirements.txt'

- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');

- name: Configure Build (build.py --update)
shell: bash
run: |
set -e -x
rm -rf ${{ github.workspace }}/Release
python3 ${{ github.workspace }}/tools/ci_build/build.py --update --build_objc --build_wheel --use_xnnpack --build_nodejs --build_java --use_coreml --use_webgpu --build_dir ${{ github.workspace }} --skip_submodule_sync --parallel --use_vcpkg --use_vcpkg_ms_internal_asset_cache --use_binskim_compliant_compile_flags --build_shared_lib --config Release --use_vcpkg --use_vcpkg_ms_internal_asset_cache

- name: Build (build.py --build)
shell: bash
run: |
set -e -x
python3 ${{ github.workspace }}/tools/ci_build/build.py --build --build_objc --build_wheel --use_xnnpack --build_nodejs --build_java --use_coreml --use_webgpu --build_dir ${{ github.workspace }} --skip_submodule_sync --parallel --use_vcpkg --use_vcpkg_ms_internal_asset_cache --use_binskim_compliant_compile_flags --build_shared_lib --config Release --use_vcpkg --use_vcpkg_ms_internal_asset_cache

- name: Install
shell: bash
run: |
set -e -x
cd ${{ github.workspace }}/Release
make install DESTDIR=${{ github.workspace }}/installed

- name: Running Tests (build.py --test)
shell: bash
run: |
set -e -x
python3 ${{ github.workspace }}/tools/ci_build/build.py --test --build_objc --build_wheel --use_xnnpack --build_nodejs --build_java --use_coreml --use_webgpu --build_dir ${{ github.workspace }} --skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --build_shared_lib --config Release --use_vcpkg --use_vcpkg_ms_internal_asset_cache
timeout-minutes: 300
env:
MACOSX_DEPLOYMENT_TARGET: '13.3'
ALLOW_RELEASED_ONNX_OPSET_ONLY: '0'

ARM64-Xcode16:
runs-on: macos-15

Expand Down Expand Up @@ -70,7 +164,7 @@ jobs:
matrix:
target_arch: [x86_64, arm64]

timeout-minutes: 60
timeout-minutes: 75

steps:
- uses: actions/setup-python@v5
Expand Down
51 changes: 51 additions & 0 deletions .github/workflows/macos_coreml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: "CoreML CI Pipeline"

on:
push:
branches: [ main, 'rel-*']
pull_request:
branches: [ main ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_with_coreml:
runs-on: macos-13
strategy:
matrix:
use_coreml: [true, false]

env:
MACOSX_DEPLOYMENT_TARGET: '13.3'

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install coreutils and ninja
run: brew install coreutils ninja

- name: Use Xcode 14.3.1
run: |
XCODE_DEVELOPER_DIR="/Applications/Xcode_14.3.1.app/Contents/Developer"
sudo xcode-select --switch "${XCODE_DEVELOPER_DIR}"

- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');

- name: CoreML EP, Build and Test on macOS
run: |
python3 tools/ci_build/build.py \
--build_dir build \
--skip_submodule_sync \
--cmake_generator=Ninja \
--parallel --use_vcpkg --use_vcpkg_ms_internal_asset_cache --use_binskim_compliant_compile_flags \
--build_shared_lib \
--config Debug \
${{ matrix.use_coreml && '--use_coreml' || '' }}
Loading
Loading