Skip to content

Commit

Permalink
Update nodejs to 18.x (microsoft#17657)
Browse files Browse the repository at this point in the history
1. Upgrade nodejs from 16.x to 18.x for Windows pipelines
2. Avoid using Azure DevOps "NodeTool" on Linux. The tool installs
nodejs from internet or local disk cache. But we already moved all Linux
tests to docker. So we do not need the installer anymore.
3. Remove some other unused code.
  • Loading branch information
snnn authored Sep 25, 2023
1 parent b2b1408 commit a942bbf
Show file tree
Hide file tree
Showing 18 changed files with 15 additions and 117 deletions.
4 changes: 0 additions & 4 deletions tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,6 @@ stages:
clean: true
submodules: none

- task: NodeTool@0
inputs:
versionSpec: '16.x'

- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,6 @@ jobs:
clean: true
submodules: recursive

- task: NodeTool@0
inputs:
versionSpec: '16.x'

- template: templates/get-docker-image-steps.yml
parameters:
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_aten_cpu
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,3 @@ jobs:
JobName: 'Linux_CI_Multi_GPU_TensorRT_Dev'
# The latest TensorRT container only supports ubuntu20.04 and python 3.8
RunDockerBuildArgs: '-o ubuntu20.04 -d tensorrt -x "--enable_multi_device_test"'
DoNugetPack: 'false'
ArtifactName: 'drop-linux'
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,4 @@ jobs:
AgentPool : 'Linux-CPU-2019'
JobName: 'Linux_CI_Dev'
RunDockerBuildArgs: '-o ubuntu20.04 -d openvino -v 2023.0.0 -x "--use_openvino CPU_FP32 --build_wheel"'
DoNugetPack: 'false'
ArtifactName: 'drop-linux'
TimeoutInMinutes: 120
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ jobs:
clean: true
submodules: none

- task: NodeTool@0
inputs:
versionSpec: '16.x'

- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
Expand Down Expand Up @@ -88,6 +84,7 @@ jobs:
mkdir -p $(Pipeline.Workspace)/ccache
docker run --rm \
--volume /data/onnx:/data/onnx:ro \
--volume /data/models:/build/models:ro \
--volume $(Build.SourcesDirectory):/onnxruntime_src \
--volume $(Build.BinariesDirectory):/build \
--volume $HOME/.onnx:/home/onnxruntimedev/.onnx \
Expand All @@ -109,51 +106,11 @@ jobs:
--build_wheel \
--enable_onnx_tests \
--enable_training \
--use_cache \
--update --build; \
--use_cache; \
ccache -sv; \
ccache -z"
workingDirectory: $(Build.SourcesDirectory)

- task: CmdLine@2
displayName: 'Install python deps'
inputs:
script: |
set -e -x
python3 -m pip uninstall -y ort-nightly-gpu ort-nightly onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml ort-nightly-directml onnx -qq
cp $(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/manylinux/requirements.txt $(Build.BinariesDirectory)/requirements.txt
# Test ORT with the latest ONNX release.
sed -i "s/git+http:\/\/github\.com\/onnx\/onnx.*/onnx/" $(Build.BinariesDirectory)/requirements.txt
python3 -m pip install -r $(Build.BinariesDirectory)/requirements.txt
mkdir $(Build.BinariesDirectory)/requirements_torch_cpu/
cp $(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/training/ortmodule/stage1/requirements_torch_cpu/requirements.txt $(Build.BinariesDirectory)/requirements_torch_cpu/requirements.txt
python3 -m pip install -r $(Build.BinariesDirectory)/requirements_torch_cpu/requirements.txt
- task: CmdLine@2
displayName: 'Install Release python package'
inputs:
script: |
rm -rf $(Build.BinariesDirectory)/Release/onnxruntime $(Build.BinariesDirectory)/Release/pybind11
python3 -m pip install $(Build.BinariesDirectory)/Release/dist/*.whl
- task: PythonScript@0
displayName: 'Run Release unit tests'
inputs:
scriptPath: $(Build.SourcesDirectory)/tools/ci_build/build.py
workingDirectory: $(Build.BinariesDirectory)/Release
arguments: >-
--build_dir $(Build.BinariesDirectory)
--cmake_generator Ninja
--config Release
--test
--skip_submodule_sync
--build_shared_lib
--parallel
--build_wheel
--enable_onnx_tests
--enable_training
--ctest_path ""
- task: PublishTestResults@2
displayName: 'Publish unit test results'
inputs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,32 +32,23 @@ jobs:
parameters:
AgentPool : 'Onnxruntime-Linux-GPU-NC6sv3'
JobName: 'Onnxruntime_Linux_GPU_Training'
SubmoduleCheckoutMode: 'recursive'
RunDockerBuildArgs: >
-o ubuntu20.04 -d gpu
-t onnxruntime_orttraining_ortmodule_tests_image
-u
-e
-x "
--enable_training
--config $(buildConfig)
--config Release
--use_cuda --cuda_version=11.8 --cuda_home=/usr/local/cuda-11.8 --cudnn_home=/usr/local/cuda-11.8
--build_wheel
--enable_nvtx_profile
--cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=70
"
DoNugetPack: 'false'
RunInjectedPipeline: 'true'
InjectedPipeline: 'orttraining-linux-gpu-test-ci-pipeline.yml'
DockerImageTag: 'onnxruntime_orttraining_ortmodule_tests_image'
BuildConfig: $(buildConfig)
ArtifactName: 'drop-linux'
TimeoutInMinutes: 140
# Enable unreleased onnx opsets in CI builds
# This facilitates testing the implementation for the new opsets
AllowReleasedOpsetOnly: '0'
Strategy:
maxParallel: 2
matrix:
Release:
buildConfig: Release
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ jobs:

- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'
force32bit: ${{ parameters.isX86 }}

# Our build machine doesn't have java x86
Expand Down
40 changes: 1 addition & 39 deletions tools/ci_build/github/azure-pipelines/templates/linux-ci.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
parameters:
AgentPool : 'onnxruntime-Ubuntu2004-AMD-CPU'
StageName : 'Linux_CI_Dev'
SubmoduleCheckoutMode: ''
RunDockerBuildArgs: '-o ubuntu20.04 -d cpu -x "--build_wheel"'
DoNodejsPack: 'false'
DoNugetPack: 'false'
NuPackScript: ''
RunInjectedPipeline: 'false'
InjectedPipeline: ''
DockerImageTag: ''
BuildConfig: ''
ArtifactName: 'drop-linux'
TimeoutInMinutes: 120
# Controls whether unreleased onnx opsets are allowed. Default is set to 1
AllowReleasedOpsetOnly: '1'
# to inject strategy, you need to pass in the whole yaml structure -
# https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema#strategies
# see example in orttraining-linux-gpu-ci-pipeline.yml
Strategy: ''

jobs:
- job: ${{ parameters.StageName }}
Expand All @@ -28,16 +19,8 @@ jobs:
ALLOW_RELEASED_ONNX_OPSET_ONLY: ${{ parameters.AllowReleasedOpsetOnly }}
skipComponentGovernanceDetection: true
pool: ${{ parameters.AgentPool }}
${{ if ne(parameters.Strategy, '') }}:
strategy:
${{ parameters.Strategy }}
steps:
- checkout: self
${{ if ne(parameters.SubmoduleCheckoutMode, '') }}:
submodules: ${{ parameters.SubmoduleCheckoutMode }}
- task: NodeTool@0
inputs:
versionSpec: '16.x'
- template: run-docker-build-steps.yml
parameters:
RunDockerBuildArgs: '${{ parameters.RunDockerBuildArgs }}'
Expand All @@ -48,31 +31,10 @@ jobs:
searchFolder: '$(Build.BinariesDirectory)'
testRunTitle: 'Unit Test Run'
condition: succeededOrFailed()
- ${{ if eq(parameters['DoNugetPack'], 'true') }}:
- script: |
${{ parameters.NuPackScript }}
displayName: 'Create Artifacts'
- task: PublishPipelineArtifact@0
displayName: 'Publish Pipeline Artifact'
inputs:
artifactName: ${{ parameters.ArtifactName }}
targetPath: '$(Build.ArtifactStagingDirectory)'
- ${{ if eq(parameters['DoNodejsPack'], 'true') }}:
- script: |
npm pack
cp $(Build.SourcesDirectory)/js/node/onnxruntime-*.tgz $(Build.ArtifactStagingDirectory)
cp -R $(Build.SourcesDirectory)/js/node/prebuilds $(Build.ArtifactStagingDirectory)/prebuilds
workingDirectory: '$(Build.SourcesDirectory)/js/node'
displayName: 'Create NPM Package'
- task: PublishPipelineArtifact@0
displayName: 'Publish Pipeline Artifact: ${{ parameters.ArtifactName }}'
inputs:
artifactName: ${{ parameters.ArtifactName }}
targetPath: '$(Build.ArtifactStagingDirectory)'
- ${{ if eq(parameters['RunInjectedPipeline'], 'true') }}:
- template: |
${{ parameters.InjectedPipeline }}
parameters:
DockerImageTag: ${{ parameters.DockerImageTag }}
BuildConfig: ${{ parameters.BuildConfig }}
BuildConfig: Release
- template: clean-agent-build-directory-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
architecture: $(buildArch)
- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'
- template: download-deps.yml

- task: PythonScript@0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
versionSpec: 3.11
- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'

- template: set-version-number-variables-step.yml

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ stages:

- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'

- script:
brew install coreutils ninja npm yarn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'
- task: DownloadPipelineArtifact@2
inputs:
patterns: 'Release_*/**/*'
Expand Down
2 changes: 1 addition & 1 deletion tools/ci_build/github/azure-pipelines/templates/web-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ stages:
displayName: 'Checkout submodule onnx'
- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'
- template: linux-web-init-and-check.yml
- task: Bash@3
displayName: 'Extract commit SHA and save to __commit.txt'
Expand Down
2 changes: 1 addition & 1 deletion tools/ci_build/github/azure-pipelines/templates/win-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ stages:
- task: NodeTool@0
condition: and(succeeded(), eq('${{ parameters.buildNodejs}}', true))
inputs:
versionSpec: '16.x'
versionSpec: '18.x'

- template: jobs/set-winenv.yml
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
architecture: $(buildArch)
- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'
- template: download-deps.yml

- task: PythonScript@0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
displayName: 'Testing: force EOL to lf on windows for /js/**'
- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'
- task: DownloadPipelineArtifact@2
inputs:
patterns: '${{ parameters.BuildConfig }}_*/**/*'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
displayName: 'Checkout submodule onnx'
- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'
- task: DownloadPipelineArtifact@2
inputs:
patterns: 'Release_*/**/*'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

- task: NodeTool@0
inputs:
versionSpec: '16.x'
versionSpec: '18.x'

- task: NuGetToolInstaller@0
displayName: Use Nuget 5.7.0
Expand Down

0 comments on commit a942bbf

Please sign in to comment.