### Description
<!-- Describe your changes. -->
As title.
1. Add macos build as an optionally enabled arch for pod and changes to
exsiting build_ios_framework/assemble_c_pod scripts.
2. Enable macos build arch in ios packaging pipeline (currently for
variants other than Mobile) and check the output artifacts are correct.
3. Write MacOS Test Target scheme in the test app and integrate into ios
packaging CI testing pipeline.
Currently the changes only apply to onnxruntime-c pod. as the original
request was from ORT SPM which consumes the onnxruntime-c pod only as
the binary target. TODO: could look into adding macos platform to objc
pod as well.
### 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. -->
Enable macos platform support in cocoapods. and also potentially produce
binary target for enabling macos platform in SPM as well.
Replace https://github.com/microsoft/onnxruntime/pull/18334
---------
Co-authored-by: rachguo <rachguo@rachguos-Mac-mini.local>
Co-authored-by: rachguo <rachguo@rachguos-Mini.attlocal.net>
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
### Description
<!-- Describe your changes. -->
Integrate react native e2e test framework with detox.
https://wix.github.io/Detox/
Good build in CI:
https://dev.azure.com/onnxruntime/onnxruntime/_build/results?buildId=946695&view=results
### 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. -->
Write cross-platform end-to-end tests in JavaScript.
Resolve flaky e2e tests in react native ci pipelines.
---------
Co-authored-by: rachguo <rachguo@rachguos-Mini.attlocal.net>
Co-authored-by: rachguo <rachguo@rachguos-Mac-mini.local>
### Description
<!-- Describe your changes. -->
I fixed some broken links in the C API documentation, but then did a
quick pass over all of the links I could find and then fixed those.
### 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. -->
I got some 404's when exploring the documentation and wanted to fix it.
### Description
Replaced the previous build steps with the latest documentation in
onnxruntime.ai
### Motivation and Context
Removing duplicates in the documentation sources
### Description
<!-- Describe your changes. -->
Update React Native documentation to reflect change to use full ORT. Fix
broken links.
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
ORT v1.13 uses the full ORT package. Instructions for performing a
custom build did not cover this.
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
# Motivation
Currently, ORT minimal builds use kernel def hashes to map from nodes to
kernels to execute when loading the model. As the kernel def hashes must
be known ahead of time, this works for statically registered kernels.
This works well for the CPU EP.
For this approach to work, the kernel def hashes must also be known at
ORT format model conversion time, which means the EP with statically
registered kernels must also be enabled then. This is not an issue for
the always-available CPU EP. However, we do not want to require that any
EP which statically registers kernels is always available too.
Consequently, we explore another approach to match nodes to kernels that
does not rely on kernel def hashes. An added benefit of this is the
possibility of moving away from kernel def hashes completely, which
would eliminate the maintenance burden of keeping the hashes stable.
# Approach
In a full build, ORT uses some information from the ONNX op schema to
match a node to a kernel. We want to avoid including the ONNX op schema
in a minimal build to reduce binary size. Essentially, we take the
necessary information from the ONNX op schema and make it available in a
minimal build.
We decouple the ONNX op schema from the kernel matching logic. The
kernel matching logic instead relies on per-op information which can
either be obtained from the ONNX op schema or another source.
This per-op information must be available in a minimal build when there
are no ONNX op schemas. We put it in the ORT format model.
Existing uses of kernel def hashes to look up kernels are replaced
with the updated kernel matching logic. We no longer store
kernel def hashes in the ORT format model’s session state and runtime
optimization representations. We no longer keep the logic to
generate and ensure stability of kernel def hashes.
* Pipeline for ONNX Runtime react native
* Fix a test failure
* test with custom built binaries
* add onnxruntime-common package back
* don't bob build when bootstrap
* revise Android test
* rename example to e2e
* remove onnxruntime packages from package.json
* remove release-it package
* upgrade gradle version to the same as CI
* add a pipeline for react native
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* android and ios mobile build for react native e2e
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* use android aar package template
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* use android aar package template
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* publish ios test results
* add e2e tests and publish a npm package
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* remove aar from npm package
* wait for view displayed
* change a waiting logic
* increase wait time for app launching
* give more time to launch an app
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* disable metro server on testing
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* test ios simulator launching
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* fix iOS e2e test
* use a publishing version of npm packages
* make pretty
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* make only one onnxruntime-common package after packaging
* make a powershell script of packaging universal
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Add a warning for file changes during a test
* clean up
* fix lint errors
* fix js npm packaging
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* resolve comments
* fix a typo
* es2017 by default for ort-common
* add visualizer and define plugin
* es2017 for ort-web. also add build target for es5
* add multiple reduced size build for ort-web
* resolve comments, add e2e tests and add docs
* Change full ort to mobile ort
* Update Android example to load mobile ort
* Change the format of test models to ort
* update ios to use mobile ort
* revise README
* use onnxruntime-mobile-c CocoaPods in a npm package
* [js/web] Add wasm SIMD backend to onnxruntime-web
* Import SIMD wasm artifacts enabled by PR #7839
* Detect SIMD capability of web engine
* Use SIMD wasm backend in both single-thread and multi-thread cases
* update optimized SIMD loading from ort web
* code lint and format
* fix WasmFileName in CI
* replace deprecated wasm SIMD functions
* fix unittest for simd
* optimize CI pipeline to merge build matrix
* make clean build for each config
* fix simd wasm to enable it.
* update script/pull-prebuilt-wasm-artifacts.ts
Co-authored-by: Yulong Wang <yulongw@microsoft.com>
Co-authored-by: Lei Zhang <zhang.huanning@hotmail.com>
* onnxruntime react native binding
* add react native backend
* fix lint comments
* fix react native backend for ios
* remove unnecessary files to check in
* move onnxruntime-common to devDependency
* create two podspec files for iphoneos and iphonesimulator
* revise README.md and add third party notices for react native
* rename a package
* rename a package and revise README
* add a license into package.json
* revise README and comments
* fix typo
* fix lint errors
* fix lint errors
* add a prepack script. touch index.tsx and App.tsx to resolve CI issue
* remove a unsupported tsx format from clang-format
* fix a type and add steps tp publish a react native npm package
* resolve comments
* fix clang format
* remove promise wrap. change prepack to typescript
* working on re-organizing js code for ortweb
* remove dup files
* move folder
* fix common references
* fix common es5
* add webpack to common
* split interfact/impl
* use cjs for node
* add npmignore for common
* update sourcemap config for common
* update node
* adjust folder/path in CI and build
* update folder
* nit: readme
* add bundle for dev
* correct nodejs paths
* enable ORT_API_MANUAL_INIT
* set name for umd library
* correct name for commonjs export
* add priority into registerBackend()
* fix npm ci pwd
* update eslintrc
* revise code
* revert package-lock lockfileVersion 2->1
* update prebuild
* resolve comments
* update document
* revise eslint config
* update eslint for typescript rules
* revert changes by mistake in backend.ts
* add env
* resolve comments