Commit graph

22 commits

Author SHA1 Message Date
Jian Chen
750747d8c9
Cjian/multi stage packaging pipeline (#14993) 2023-03-24 23:39:15 -07:00
Changming Sun
87b1fddd97
Add Linux/MacOS ARM64 support to nuget packaging pipeline (#9570) 2021-10-27 19:00:43 -07:00
Changming Sun
5f74f198c1
Merge CPU/GPU nuget pipeline (#8683)
Merge CPU/GPU nuget pipeline. The old GPU nuget pipeline will be only for DML.

TODO: the result GPU package contains PDB files for some of the DLLs, but not all. It is due to the refactoring of CUDA EP to pluggable DLLs. At that time we forgot to copy the PDB files. However, I can't add them in now. Because currently the package is already 220MB large. If the missed PDB files were added, then it will be oversize. nuget.org doesn't accept >250MB packages.
2021-08-12 13:21:29 -07:00
Changming Sun
6e2b064aec
Delete some unused code in run_dockerbuild.sh and Enable Nuget CUDA tests (#8089)
1. Remove some unused code and simplify tools/ci_build/github/linux/run_dockerbuild.sh.
2. Enable Nuget CUDA tests. The original design was we could leverage Directory.Build.props and let cmake generate the required properties(USE_CUDA/...) there. However, in nuget packaging pipeline we test the package on a different host that doesn't run cmake command and doesn't have the auto-generated Directory.Build.props file.
2021-06-22 18:43:33 -07:00
Changming Sun
b854f2399d
Update manylinux build scripts and GPU CUDA version from 11.0 to 11.1 (#7632)
1. Update manylinux build scripts. This will add [PEP600](https://www.python.org/dev/peps/pep-0600/)(manylinux2 tags) support. numpy has adopted this new feature, we should do the same. The old build script files were copied from https://github.com/pypa/manylinux, but they has been deleted and replaced in the upstream repo. The manylinux repo doesn't have a manylinux2014 branch anymore. So I'm removing the obsolete code, sync the files with the latest master.
2. Update GPU CUDA version from 11.0 to 11.1(after a discussion with PMs). 
3. Delete tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda10_2.  (Merged the content to tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11)
4. Modernize the cmake code of how to locate python devel files. It was suggested in https://github.com/onnx/onnx/pull/1631 .
5. Remove `onnxruntime_MSVC_STATIC_RUNTIME` and `onnxruntime_GCC_STATIC_CPP_RUNTIME` build options. Now cmake has builtin support for it. Starting from cmake 3.15, we can use `CMAKE_MSVC_RUNTIME_LIBRARY` cmake variable to choose which MSVC runtime library we want to use. 
6. Update Ubuntu docker images that used in our CI build from Ubuntu 18.04 to Ubuntu 20.04.
7. Update GCC version in CUDA 11.1 pipelines from 8.x to 9.3.1
8. Split Linux GPU CI pipeline to two jobs: build the code on a CPU machine then run the tests on another GPU machines.  In the past we didn't test our python packages. We only tested the pre-packed files. So we didn't catch the rpath issue in CI build. 
9. Add a CentOS machine pool and test our Linux GPU build on real CentOS machines. 
10. Rework ARM64 Linux GPU python packaging pipeline. Previously it uses cross-compiling therefore we must static link to C Runtime. But now have pluggable EP API and it doesn't support static link. So I changed to use qemu emulation instead. Now the build is 10x slower than before. But it is more extensible.
2021-06-02 23:36:49 -07:00
Changming Sun
f1c1c38d44
Delete an unused var in nuget pipelines(#7345) 2021-04-15 07:29:52 -07:00
Changming Sun
4161758058
Remove openmp related packaging pipeline (#6991)
1. Remove openmp related packaging pipelines and build jobs.
2. Set continueOnError to true for the TSAUpload tasks. Their service is unstable recently.
3. Update Ubuntu 16 docker images to Ubuntu 18, in prepare for getting C++17 support
4. Cherry-pick the changes in 1.7.1 to the master: updating CFLAGS/CXXFLAGS to strip out debug symbols
2021-03-12 10:02:59 -08:00
Changming Sun
8378a45ae7
Add python 3.8/3.9 support for Windows GPU and Linux ARM64 (#6615)
Add python 3.8/3.9 support for Windows GPU and Linux ARM64

Delete jemalloc from cgmanifest.json.

Add onnx node test to Nuphar pipeline.

Change $ANDROID_HOME/ndk-bundle to $ANDROID_NDK_HOME. The later one is more accurate.

Delete Java GPU packaging pipeline

Remove test data download step in Nuget Mac OS pipeline. Because these machines are out of control and out of our network, it's hard to make it reliable and the data secure.

Fix a doc problem in c-api-artifacts-package-and-publish-steps-windows.yml. It shouldn't copy C_API.md, because the file has been moved into a different branch.

Delete the CI build docker file for Ubuntu cuda 9.x and Ubuntu x86 32 bits

And, due to some internal restrictions, I need to rename some of the agent pools
2021-02-11 16:43:35 -08:00
Changming Sun
b5bd14fc9f
Update GPU packaging pipelines to cuda11 and fix the other build break issues (#6585)
Update gpu packaging pipelines to CUDA11

In the next release we will use CUDA 11. And our CUDA 11 build suddenly became broken because recently CentOS 7 posted an update of glibc. The version of glibc was changed from 2.17-317.el7 to 2.17-322.el7_9. But the newer one isn't compatible with CUDA 11. We have to downgrade it.
2021-02-05 16:58:37 -08:00
Edward Chen
6d642a3dba
Replace direct pulls from image cache container registry with get_docker_image.py, build definition clean up. (#5906) 2020-12-01 19:10:23 -08:00
Changming Sun
85f945a875
Regenerate CI build docker images (#5850) 2020-11-18 14:36:59 -08:00
Changming Sun
5eec4f66ed
Refactor manylinux docker image and the related pipelines (#4751)
1. Publish the image ACR, instead of building it every time for every PR
2. Make USE_MKLML and USE_OPENMP be able to co-exist. Currently both of them are enabled in our Linux CI build but indeed only one of them is taking effect.
3. Split nuphar and DNNL to separated pipelines.
4. Fix two warnings in onnxruntime/core/optimizer/matmul_scale_fusion.cc and onnxruntime/test/tvm/tvm_basic_test.cc.
5. Update the manylinux2010_x86_64 image to the latest.
2020-08-17 09:40:31 -07:00
Changming Sun
3eaec57c38
Fix the daily pipeline failures (#4084)
1. Fix the nuget cpu pipeline and put code coverage pipeline back.
2. Reduce onnx_test_runner's default logging level from WARNING to ERROR. Because there are too many log messages now.
3. Enlarge the protobuf read buffer size for onnx_test_runner. It was missed from PR #4020.
2020-06-01 14:44:49 -07:00
KeDengMS
f9f25ec047
Fix spurious component detection warning (#2857)
Fix spurious component detection warning
Use component detection template for all pipelines
2020-01-18 20:10:35 -08:00
Ashwini Khade
e32eff826c
enable nuget package testing on centos7 (#2527)
* add centos tests to linux cpu ci pipeline

* Disable failing test

* use centos6 instead of centos7

* change back to centos7

* add dotnet runtime dependency

* fix dotnet runtime dependencies

* install dotnet sdk instead of runtimes

* add more dotnet dependencies

* temporary skip failing test

* ix lib path

* reenable failing test
2019-12-03 10:16:45 -08:00
shahasad
882f28a74b
Fix NuGet end to end tests for custom op dll (#2472) 2019-11-25 15:26:09 -08:00
Ashwini Khade
4caf5c9c13
add additional test data set for nuget pipeline (#2448)
* add SAS token to download internal test data for nuget pipeline

* update azure endpoint

* fix keyvault download step

* fix variable declaration for secret group

* fix indentation

* fix yaml syntax for variables

* fix setting secrets for script

* fix env synctax

* Fix macos pipeline

* attempt to add secrets to windows download data

* fix mac and win data download

* fix windows data download

* update test data set url and location
2019-11-25 13:08:03 -08:00
Changming Sun
138a7f194e Add cleanup step 2019-10-30 08:13:09 -07:00
shahasad
b355193841
Add Date-time stamp in NuGet package versioning for appropriate ordering of the packages (#1951) 2019-09-30 16:24:16 -07:00
Hariharan Seshadri
6df4bc2ebe
Update scripts to access pipeline variables correctly (#1499)
* Update scripts to access IsReleaseBuild pipeline variable correctly

* Correct access of PACKAGENAME pipeline variable

* Fix Linux CUDA 10 package tests

* Enable C# GPU test

* Update
2019-07-25 15:30:32 -07:00
jignparm
d3e5474c1d
Refactor CI pipelines - add GPU NuGet pipelines and ESRP code signing steps (#1247)
* Simplify linux gpu pipeline

* Refactor win-gpu-ci-pipeline.yml

* Set cuda environment variables for testing and version

* Remove variables from starter script

* minor fix

* Add GPU Nuget pipeline

* Set DisableContribOps environment variable for Linux package tests

* Add ESRP tasks

* Add ESRP signing templates

* Test out hardcode value of ERSP

* Test out hardcode value of ERSP

* Test out hardcode value of ERSP

* Test out hardcode value of ERSP

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test out variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* update cpu pipeline to conditionally esrp sign

* Set C# GPU tests to run only if env var is set

* Refactor for easy parameter passing

* refactored esrp templates

* remove variables from template

* Add packaging variables back to pipelines

* update C# for cuda 10

* Merge vars ana parameters for gpu pipeline

* remove vars from mklml pipeline

* display envvars on terminal

* Clean up C# cuda tests, and upgrade to Cuda10

* Introduce CUDNN_PATH pipeline varaible

* YAML variable are always uppercased (not true with classic)

* Update C# GPU test to be more meaningful

* remove macos from gpu tests

* remove debugging info for DisableContribOps option

* Remove DisableContrib ops parameters -- use variables only

* Fix typo from = to -

* remove debug steps

* fix typo

* remove unused variable TESTONGPU from some templates

* clean up CUDA env setup scripts

* Remove CUDNN_PATH from setup_env_cuda.bat
2019-06-20 19:41:30 -07:00
jignparm
08731589c9
Refactor CI pipelines, and add YAML NuGet package generation pipelines ( for CPU, MKLML, NoContribOps) (#1223)
* Initial check in

* Add win x86

* minor update to x86

* update win-ci

* update win-ci

* update win-x86ci

* add linux and mac templates

* add nuget pipelines and test templates

* remove buildConfig

* add compliance template

* fix minor typos

* update pool for macos

* update mac agent pool

* update macos pool

* update agent pools for tests

* turn off debug build for testing

* some modifications to packaging scripts

* change ordering of compliance tasks

* Add mklml pipeline

* Add packagename variable to mklml pipeline

* remove unrequired dependent jobs from mklml pipeline

* Update build command for macOS legs in mklml and cpu pipeline

* Set vcvars to true

* Add no contrib ops pipeline

* Add no-contrib-ops pipeline

* set vcvars to true for package tests

* remove repetition in nuget templates

* get buildarch correct

* get name of test template correct

* remove steps from test_all_os.yml

* add parameters to test_all_os.yml

* Need jobs, not steps

* set envars for disablecontrib ops

* add cleanup tasks and CG to package tests

* fix path to cleanup script for macos

* remove buildDirectory -- not needed

* remove fp16tiny_yolov2 model from nocontribops tests

* remove debugging info

* fix individual linux pipelines to use correct template

* remove unneeded bak_latest2

* increase timeout to 120 to allow for variance

* turn off code coverage report
2019-06-14 14:51:03 -07:00