windows/templates/build_task.yml (195 lines of code) (raw):

parameters: package: '' spec: '' jobDesc: '' packageDesc: '' msagent: true cpuEnabled: true cudaEnabled: true condaEnabled: true wheelsEnabled: true override: false jobs: - job: 'Windows_${{ parameters.spec }}_${{ parameters.package }}_Build' timeoutInMinutes: 240 cancelTimeoutInMinutes: 5 condition: > or(and(eq('${{ parameters.package }}', 'Conda'), eq('${{ parameters.spec }}', 'CPU'), eq('${{ parameters.condaEnabled }}', 'true'), eq('${{ parameters.cpuEnabled }}', 'true')), and(eq('${{ parameters.package }}', 'Wheels'), eq('${{ parameters.spec }}', 'CPU'), eq('${{ parameters.wheelsEnabled }}', 'true'), eq('${{ parameters.cpuEnabled }}', 'true')), and(eq('${{ parameters.package }}', 'Conda'), eq('${{ parameters.spec }}', 'CUDA'), eq('${{ parameters.condaEnabled }}', 'true'), eq('${{ parameters.cudaEnabled }}', 'true')), and(eq('${{ parameters.package }}', 'Wheels'), eq('${{ parameters.spec }}', 'CUDA'), eq('${{ parameters.wheelsEnabled }}', 'true'), eq('${{ parameters.cudaEnabled }}', 'true'))) variables: - ${{ if eq(parameters.override, 'true') }}: - name: PYTORCH_BUILD_VERSION value: '1.1.0' - name: PYTORCH_BUILD_NUMBER value: 1 - name: PYTORCH_REPO value: 'pytorch' - name: PYTORCH_BRANCH value: 'v1.1.0' - name: TORCH_CONDA_BUILD_FOLDER value: 'pytorch-1.1.0' - ${{ if eq(parameters.msagent, 'true') }}: - name: USE_SCCACHE value: 0 - ${{ if eq(parameters.msagent, 'false') }}: - name: USE_SCCACHE value: 1 - ${{ if eq(parameters.package, 'Conda') }}: - group: peterjc_anaconda_token - name: PYTORCH_FINAL_PACKAGE_DIR value: '$(Build.Repository.LocalPath)\windows\output' strategy: maxParallel: 10 matrix: ${{ if eq(parameters.spec, 'CPU') }}: PY3.6: DESIRED_PYTHON: 3.6 CUDA_VERSION: cpu PY3.7: DESIRED_PYTHON: 3.7 CUDA_VERSION: cpu PY3.8: DESIRED_PYTHON: 3.8 CUDA_VERSION: cpu ${{ if and(eq(parameters.package, 'Wheels'), eq(parameters.spec, 'CPU')) }}: LIBTORCH: DESIRED_PYTHON: 3 CUDA_VERSION: cpu BUILD_PYTHONLESS: 1 LIBTORCH_DEBUG: DESIRED_PYTHON: 3 CUDA_VERSION: cpu BUILD_PYTHONLESS: 1 DEBUG: 1 ${{ if ne(parameters.spec, 'CPU') }}: PY3.6_92: DESIRED_PYTHON: 3.6 CUDA_VERSION: 92 PY3.7_92: DESIRED_PYTHON: 3.7 CUDA_VERSION: 92 PY3.8_92: DESIRED_PYTHON: 3.8 CUDA_VERSION: 92 PY3.6_101: DESIRED_PYTHON: 3.6 CUDA_VERSION: 101 PY3.7_101: DESIRED_PYTHON: 3.7 CUDA_VERSION: 101 PY3.8_101: DESIRED_PYTHON: 3.8 CUDA_VERSION: 101 PY3.6_102: DESIRED_PYTHON: 3.6 CUDA_VERSION: 102 PY3.7_102: DESIRED_PYTHON: 3.7 CUDA_VERSION: 102 PY3.8_102: DESIRED_PYTHON: 3.8 CUDA_VERSION: 102 PY3.6_110: DESIRED_PYTHON: 3.6 CUDA_VERSION: 110 PY3.7_110: DESIRED_PYTHON: 3.7 CUDA_VERSION: 110 PY3.8_110: DESIRED_PYTHON: 3.8 CUDA_VERSION: 110 ${{ if and(ne(parameters.spec, 'CPU'), eq(parameters.package, 'Wheels')) }}: LIBTORCH_92: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 92 LIBTORCH_92_DEBUG: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 92 DEBUG: 1 LIBTORCH_101: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 101 LIBTORCH_101_DEBUG: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 101 DEBUG: 1 LIBTORCH_102: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 102 LIBTORCH_102_DEBUG: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 102 DEBUG: 1 LIBTORCH_110: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 110 LIBTORCH_110_DEBUG: DESIRED_PYTHON: 3 BUILD_PYTHONLESS: 1 CUDA_VERSION: 110 DEBUG: 1 pool: ${{ if eq(parameters.msagent, 'true') }}: vmImage: 'vs2017-win2016' ${{ if eq(parameters.msagent, 'false') }}: name: 'pytorch' steps: - script: | taskkill /im nvcc.exe /f || ver > NUL taskkill /im sccache.exe /f || ver > NUL taskkill /im cl.exe /f || ver > NUL taskkill /im ninja.exe /f || ver > NUL taskkill /im link.exe /f || ver > NUL taskkill /im cmake.exe /f || ver > NUL taskkill /im conda-build.exe /f || ver > NUL rd /s /q $(Build.Repository.LocalPath)\windows\pytorch || ver > NUL rd /s /q $(Build.Repository.LocalPath)\windows\output || ver > NUL displayName: 'Cleaning unclosed processes & files' - checkout: self clean: true - template: setup_env_for_msagent.yml parameters: msagent: ${{ parameters.msagent }} - template: setup_nightly_variables.yml parameters: package: ${{ parameters.package }} - ${{ if eq(parameters.package, 'Wheels') }}: - template: build_wheels.yml parameters: msagent: ${{ parameters.msagent }} - ${{ if eq(parameters.package, 'Conda') }}: - template: build_conda.yml parameters: msagent: ${{ parameters.msagent }} - ${{ if or(eq(parameters.package, 'Wheels'), eq(parameters.package, 'Conda')) }}: - template: publish_test_results.yml parameters: msagent: ${{ parameters.msagent }} - ${{ if and(eq(parameters.package, 'Wheels'), eq(parameters.spec, 'CPU')) }}: - template: upload_to_s3.yml parameters: cuVer: '$(CUDA_VERSION)' cudaVer: '$(CUDA_VERSION)' - ${{ if and(eq(parameters.package, 'Wheels'), ne(parameters.spec, 'CPU')) }}: - template: upload_to_s3.yml parameters: cuVer: 'cu$(CUDA_VERSION)' cudaVer: 'cuda$(CUDA_VERSION)' - ${{ if eq(parameters.package, 'Conda') }}: - template: upload_to_conda.yml parameters: user: $(peterjc_conda_username) pass: $(peterjc_conda_password) # If you want to upload binaries to Azure Git, please uncomment this section. # - ${{ if or(eq(parameters.package, 'Wheels'), eq(parameters.package, 'Conda')) }}: # - template: publish_test_results.yml # parameters: # msagent: ${{ parameters.msagent }} # - template: publish_packages.yml # parameters: # package: ${{ parameters.package }}