-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seperate RN andriod and IOS into 2 separated Stages. #23400
base: main
Are you sure you want to change the base?
Conversation
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = "arm64"
# Conflicts: # js/react_native/e2e/ios/Podfile # js/react_native/ios/OnnxruntimeModule.xcodeproj/project.pbxproj # js/react_native/ios/Podfile
# Conflicts: # js/react_native/e2e/ios/Podfile # js/react_native/e2e/yarn.lock # js/react_native/ios/Podfile # tools/ci_build/github/azure-pipelines/templates/react-native-ci.yml
jobs: | ||
- job: ReactNative_CI | ||
- job: ReactNative_CI_Android |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you use Linux machines to build Android?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They are more stable, and we have more capacities there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you do it in a new PR if you'd like.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@edgchen1 That is a question for Edward.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
worth trying it. IIRC, we used to only be able to run the android emulator on Mac agents.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now it runs well on Linux.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Please also let the mobile team take a look.
targetPath: '$(Build.SourcesDirectory)/js/react_native/e2e/artifacts' | ||
condition: succeededOrFailed() | ||
displayName: Publish React Native Detox E2E test logs | ||
|
||
- task: PublishPipelineArtifact@0 | ||
inputs: | ||
artifactName: '${{parameters.PackageName}}' | ||
artifactName: 'NPM_packages_android' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the npm packaging pipeline sets the PackageName parameter.
onnxruntime/tools/ci_build/github/azure-pipelines/npm-packaging-pipeline.yml
Lines 53 to 60 in 2ab51c7
- template: templates/react-native-ci.yml | |
parameters: | |
NpmPackagingMode: ${{ variables.NpmPackagingMode }} | |
BuildConfig: 'Release' | |
PoolName: 'onnxruntime-Ubuntu2204-AMD-CPU' | |
PackageName: 'onnxruntime-react-native' | |
InitialStageDependsOn: 'Precheck_and_extract_commit' | |
enable_code_sign: false |
does it still work with these changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the npm packaging pipeline sets the PackageName parameter.
onnxruntime/tools/ci_build/github/azure-pipelines/npm-packaging-pipeline.yml
Lines 53 to 60 in 2ab51c7
- template: templates/react-native-ci.yml parameters: NpmPackagingMode: ${{ variables.NpmPackagingMode }} BuildConfig: 'Release' PoolName: 'onnxruntime-Ubuntu2204-AMD-CPU' PackageName: 'onnxruntime-react-native' InitialStageDependsOn: 'Precheck_and_extract_commit' enable_code_sign: false does it still work with these changes?
Good point, but the package 'onnxruntime-react-native' wasn't downloaded later. The default package name, NPM_packages, from RN_CI was used to get downloading artifacts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both NPM_packages_android and NPM_packages_ios contians the same *.tgz. So, we just need to build one of it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok. please verify that other pipelines which use the react-native-ci.yml template still work as expected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NPM packaging pipeline uses template react-native-ci.yml.
The expected published artifacts of NPM packaging pipeline is:
- artifact
onnxruntime-web
: should include the NPM package ofonnxruntime-web
, and should also include the NPM packageonnxruntime-common
if necessary - artifact
onnxruntime-node
: should include the NPM package ofonnxruntime-node
, and should also include the NPM packageonnxruntime-common
if necessary - artifact
onnxruntime-react-native
: should include the NPM package ofonnxruntime-react-native
, and should also include the NPM packageonnxruntime-common
if necessary
Since the ONNX Runtime React Native CI Pipeline
is a CI pipeline, there is no requirement to its artifact. However, an artifact named as NPM_Packages
is expected to have one or more NPM packages. There is no such "Android"/"iOS" version of the package; so NPM_packages_android
/NPM_packages_ios
is confusing
tools/ci_build/github/azure-pipelines/npm-packaging-pipeline.yml
Outdated
Show resolved
Hide resolved
Need to verify the NPM_packages with main branch from Nuget pkg pipeline which is currently broken. |
"NPM_Packages" is a general name. It does not indicate the artifact contians a specific package. In a React Native pipeline, it may contain the NPM package The NPM packaging pipeline currently does the following:
|
Description
Seperate RN andriod and IOS into 2 separated Stages.
Motivation and Context
Speed up the PR process.