|
2 | 2 | # It leverages a reusable workflow (`reusable_linux_build.yml`) to handle the core build and test logic |
3 | 3 | # within Docker containers, ensuring a consistent environment. |
4 | 4 | # |
5 | | -# The workflow consists of four parallel jobs targeting different combinations: |
| 5 | +# The workflow consists of five parallel jobs targeting different combinations: |
6 | 6 | # - build-linux-x64-debug: Builds/tests Debug config on Linux x64 (AMD CPU pool), enables AddressSanitizer. |
7 | | -# - build-linux-x64-release: Builds/tests Release config on Linux x64 (AMD CPU pool), includes wheel/C#/benchmark flags. |
8 | | -# - build-linux-arm64-debug: Builds/tests Debug config on Linux arm64 (ARM CPU pool), no AddressSanitizer because otherwise it will take more than 4 hours. |
9 | | -# - build-linux-arm64-release: Builds/tests Release config on Linux arm64 (ARM CPU pool), includes wheel/C#/benchmark flags. |
| 7 | +# - build-linux-x64-release: Builds/tests Release config on Linux x64 (AMD CPU pool), includes wheel/nuget/benchmark flags. |
| 8 | +# - orttraining-linux-ci-pipeline: Builds/tests Release config with Training enabled (--enable_training) on Linux x64 (AMD CPU pool). |
| 9 | +# - build-linux-arm64-debug: Builds/tests Debug config on Linux arm64 (ARM CPU pool); ASan is disabled due to excessive runtime. Includes wheel build. |
| 10 | +# - build-linux-arm64-release: Builds/tests Release config on Linux arm64 (ARM CPU pool), includes wheel/benchmark flags. |
10 | 11 | # |
11 | 12 | # Each job calls the reusable workflow, passing specific parameters: |
12 | 13 | # - target architecture (x64 or arm64) |
13 | 14 | # - build configuration (Debug or Release) |
14 | 15 | # - runner pool name |
15 | 16 | # - path to the appropriate Dockerfile |
16 | 17 | # - Docker image name for caching/use |
17 | | -# - configuration-specific build flags (e.g., --enable_address_sanitizer for Debug, --build_wheel for Release) |
| 18 | +# - configuration-specific build flags (e.g., --enable_address_sanitizer, --enable_training, --build_wheel) |
18 | 19 |
|
19 | 20 | name: Linux CI |
20 | 21 |
|
|
54 | 55 | dockerfile_path: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cpu |
55 | 56 | docker_image_repo: onnxruntimecpubuildpythonx64 |
56 | 57 | extra_build_flags: '--use_binskim_compliant_compile_flags --build_wheel --build_nuget --enable_transformers_tool_test --cmake_extra_defines onnxruntime_BUILD_BENCHMARKS=ON' |
57 | | - python_path_prefix: 'PATH=/opt/python/cp310-cp310/bin:\$PATH' |
| 58 | + python_path_prefix: 'PATH=/opt/python/cp310-cp310/bin:\$PATH' # $ needs escaping in single quotes |
58 | 59 | secrets: |
59 | 60 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
60 | 61 |
|
|
66 | 67 | build_config: Release |
67 | 68 | architecture: x64 |
68 | 69 | dockerfile_path: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cpu |
69 | | - docker_image_repo: onnxruntimecpubuildpythonx64 |
| 70 | + docker_image_repo: onnxruntimecpubuildpythonx64 # Shares image with standard x64 release |
70 | 71 | extra_build_flags: '--enable_training --use_binskim_compliant_compile_flags --build_wheel --build_nuget --enable_transformers_tool_test --cmake_extra_defines onnxruntime_BUILD_BENCHMARKS=ON' |
71 | | - python_path_prefix: 'PATH=/opt/python/cp310-cp310/bin:\$PATH' |
| 72 | + python_path_prefix: 'PATH=/opt/python/cp310-cp310/bin:\$PATH' # $ needs escaping in single quotes |
72 | 73 | secrets: |
73 | 74 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
74 | 75 |
|
|
82 | 83 | architecture: arm64 |
83 | 84 | dockerfile_path: tools/ci_build/github/linux/docker/inference/aarch64/default/cpu/Dockerfile |
84 | 85 | docker_image_repo: onnxruntimecpubuildciaarch64 |
| 86 | + # ASan disabled due to excessive runtime (>4hr). Includes wheel build for basic checks. |
85 | 87 | extra_build_flags: '--use_binskim_compliant_compile_flags --build_wheel' |
86 | 88 | secrets: |
87 | 89 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
95 | 97 | architecture: arm64 |
96 | 98 | dockerfile_path: tools/ci_build/github/linux/docker/inference/aarch64/python/cpu/Dockerfile |
97 | 99 | docker_image_repo: onnxruntimecpubuildpythonaarch64 |
98 | | - extra_build_flags: '--use_binskim_compliant_compile_flags --build_wheel --cmake_extra_defines onnxruntime_BUILD_BENCHMARKS=ON' |
99 | | - python_path_prefix: 'PATH=/opt/python/cp310-cp310/bin:\$PATH' |
| 100 | + extra_build_flags: '--use_binskim_compliant_compile_flags --build_wheel --cmake_extra_defines onnxruntime_BUILD_BENCHMARKS=ON' |
| 101 | + python_path_prefix: 'PATH=/opt/python/cp310-cp310/bin:\$PATH' # $ needs escaping in single quotes |
100 | 102 | secrets: |
101 | 103 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
0 commit comments