jobs: - job: Linux_C_API_Packaging_CPU_x64 workspace: clean: all timeoutInMinutes: 60 pool: vmImage: 'ubuntu-latest' steps: - template: templates/set-version-number-variables-step.yml - template: templates/get-docker-image-steps.yml parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.centos Context: tools/ci_build/github/linux/docker DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )" Repository: onnxruntimecentoscpubuild - task: CmdLine@2 inputs: script: | mkdir -p $HOME/.onnx docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build --volume /data/models:/build/models:ro \ --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimecentoscpubuild python3 \ /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release \ --skip_submodule_sync --parallel --build_shared_lib --use_openmp workingDirectory: $(Build.SourcesDirectory) - template: templates/c-api-artifacts-package-and-publish-steps-posix.yml parameters: buildConfig: 'Release' artifactName: 'onnxruntime-linux-x64-$(OnnxRuntimeVersion)' libraryName: 'libonnxruntime.so.$(OnnxRuntimeVersion)' commitId: $(OnnxRuntimeGitCommitHash) - template: templates/component-governance-component-detection-steps.yml parameters : condition : 'succeeded' - template: templates/clean-agent-build-directory-step.yml - job: Linux_C_API_Packaging_GPU_x64 workspace: clean: all timeoutInMinutes: 120 pool: 'Linux-GPU-CUDA10' steps: - template: templates/set-version-number-variables-step.yml - template: templates/get-docker-image-steps.yml parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda10_2 Context: tools/ci_build/github/linux/docker DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )" Repository: onnxruntimegpubuild - task: CmdLine@2 inputs: script: | mkdir -p $HOME/.onnx docker run --gpus all -e NVIDIA_VISIBLE_DEVICES=all --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build \ --volume /data/models:/build/models:ro --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimegpubuild \ /opt/python/cp37-cp37m/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release \ --skip_submodule_sync --parallel --build_shared_lib --use_cuda --cuda_version=10.2 --cuda_home=/usr/local/cuda-10.2 --cudnn_home=/usr/local/cuda-10.2 workingDirectory: $(Build.SourcesDirectory) - template: templates/c-api-artifacts-package-and-publish-steps-posix.yml parameters: buildConfig: 'Release' artifactName: 'onnxruntime-linux-x64-gpu-$(OnnxRuntimeVersion)' libraryName: 'libonnxruntime.so.$(OnnxRuntimeVersion)' commitId: $(OnnxRuntimeGitCommitHash) - template: templates/component-governance-component-detection-steps.yml parameters : condition : 'succeeded' - template: templates/clean-agent-build-directory-step.yml - job: MacOS_C_API_Packaging_CPU_x64 workspace: clean: all pool: vmImage: 'macOS-10.14' timeoutInMinutes: 120 steps: - template: templates/set-version-number-variables-step.yml - script: | set -e pushd . cd $(Build.SourcesDirectory)/cmake/external/protobuf cmake ./cmake -DCMAKE_INSTALL_PREFIX=$(Build.BinariesDirectory)/protobuf -DCMAKE_POSITION_INDEPENDENT_CODE=ON -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Relwithdebinfo make -j$(getconf _NPROCESSORS_ONLN) make install popd export PATH=$(Build.BinariesDirectory)/protobuf/bin:$PATH export ONNX_ML=1 export CMAKE_ARGS="-DONNX_GEN_PB_TYPE_STUBS=OFF -DONNX_WERROR=OFF" sudo python3 -m pip install -r '$(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/requirements.txt' sudo xcode-select --switch /Applications/Xcode_10.app/Contents/Developer # The following line is a hack to prevent build pipeline from failing brew uninstall openssl@1.0.2t brew install libomp python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --use_openmp --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --config Release displayName: 'Build and Test MacOS' - template: templates/c-api-artifacts-package-and-publish-steps-posix.yml parameters: buildConfig: 'Release' artifactName: 'onnxruntime-osx-x64-$(OnnxRuntimeVersion)' libraryName: 'libonnxruntime.$(OnnxRuntimeVersion).dylib' commitId: $(OnnxRuntimeGitCommitHash) - template: templates/component-governance-component-detection-steps.yml parameters : condition : 'succeeded' - template: templates/clean-agent-build-directory-step.yml - job: Windows_Packaging_CPU workspace: clean: all pool: 'Win-CPU-2019' timeoutInMinutes: 160 strategy: maxParallel: 2 matrix: x86: EnvSetupScript: setup_env_x86.bat buildArch: x86 msbuildArch: x86 msbuildPlatform: Win32 buildparameter: --x86 x64: EnvSetupScript: setup_env.bat buildArch: x64 msbuildArch: amd64 msbuildPlatform: x64 buildparameter: steps: - template: templates/telemetry-steps.yml - task: UsePythonVersion@0 inputs: versionSpec: '3.7' addToPath: true architecture: $(buildArch) - task: BatchScript@1 displayName: 'setup env' inputs: filename: '$(Build.SourcesDirectory)\tools\ci_build\github\windows\$(EnvSetupScript)' modifyEnvironment: true workingFolder: '$(Build.BinariesDirectory)' - script: | python -m pip install -q pyopenssl setuptools wheel numpy workingDirectory: '$(Build.BinariesDirectory)' displayName: 'Install python modules' - powershell: | $Env:USE_MSVC_STATIC_RUNTIME=1 $Env:ONNX_ML=1 $Env:CMAKE_ARGS="-DONNX_USE_PROTOBUF_SHARED_LIBS=OFF -DProtobuf_USE_STATIC_LIBS=ON -DONNX_USE_LITE_PROTO=ON -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=$(buildArch)-windows-static" python setup.py bdist_wheel Get-ChildItem -Path dist/*.whl | foreach {pip --disable-pip-version-check install --upgrade $_.fullname} workingDirectory: '$(Build.SourcesDirectory)\cmake\external\onnx' displayName: 'Install ONNX' - template: templates/set-test-data-variables-step.yml - template: templates/set-version-number-variables-step.yml - task: PythonScript@0 displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --use_openmp --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 displayName: 'Build' inputs: solution: '$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln' platform: $(msbuildPlatform) configuration: RelWithDebInfo msbuildArchitecture: $(buildArch) maximumCpuCount: true logProjectEvents: true workingFolder: '$(Build.BinariesDirectory)\RelWithDebInfo' createLogFile: true - task: PythonScript@0 displayName: 'test' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --use_openmp --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' - template: templates/c-api-artifacts-package-and-publish-steps-windows.yml parameters: buildConfig: RelWithDebInfo artifactName: 'onnxruntime-win-$(buildArch)-$(OnnxRuntimeVersion)' commitId: $(OnnxRuntimeGitCommitHash) - template: templates/component-governance-component-detection-steps.yml parameters : condition : 'succeeded' - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3 displayName: 'Clean Agent Directories' condition: always() - job: Windows_Packaging_GPU workspace: clean: all pool: 'Win-GPU-2019' timeoutInMinutes: 120 variables: EnvSetupScript: setup_env_cuda.bat buildArch: x64 msbuildArch: amd64 msbuildPlatform: x64 CUDA_VERSION: '10.2' buildparameter: --use_cuda --cuda_version=$(CUDA_VERSION) --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v$(CUDA_VERSION)" --cudnn_home="C:\local\cudnn-$(CUDA_VERSION)-windows10-x64-v8.0.3.33\cuda" steps: - template: templates/telemetry-steps.yml - task: UsePythonVersion@0 inputs: versionSpec: '3.7' addToPath: true architecture: $(buildArch) - task: BatchScript@1 displayName: 'setup env' inputs: filename: '$(Build.SourcesDirectory)\tools\ci_build\github\windows\$(EnvSetupScript)' modifyEnvironment: true workingFolder: '$(Build.BinariesDirectory)' - script: | python -m pip install -q pyopenssl setuptools wheel numpy workingDirectory: '$(Build.BinariesDirectory)' displayName: 'Install python modules' - powershell: | $Env:USE_MSVC_STATIC_RUNTIME=1 $Env:ONNX_ML=1 $Env:CMAKE_ARGS="-DONNX_USE_PROTOBUF_SHARED_LIBS=OFF -DProtobuf_USE_STATIC_LIBS=ON -DONNX_USE_LITE_PROTO=ON -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=$(buildArch)-windows-static" python setup.py bdist_wheel Get-ChildItem -Path dist/*.whl | foreach {pip --disable-pip-version-check install --upgrade $_.fullname} workingDirectory: '$(Build.SourcesDirectory)\cmake\external\onnx' displayName: 'Install ONNX' - template: templates/set-test-data-variables-step.yml - template: templates/set-version-number-variables-step.yml - task: PythonScript@0 displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 displayName: 'Build' inputs: solution: '$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln' platform: $(msbuildPlatform) configuration: RelWithDebInfo msbuildArchitecture: $(buildArch) maximumCpuCount: true logProjectEvents: true workingFolder: '$(Build.BinariesDirectory)\RelWithDebInfo' createLogFile: true - task: PythonScript@0 displayName: 'test' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' - template: templates/c-api-artifacts-package-and-publish-steps-windows.yml parameters: buildConfig: RelWithDebInfo artifactName: 'onnxruntime-win-$(buildArch)-gpu-$(OnnxRuntimeVersion)' commitId: $(OnnxRuntimeGitCommitHash) - template: templates/component-governance-component-detection-steps.yml parameters : condition : 'succeeded' - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3 displayName: 'Clean Agent Directories' condition: always()