install-dependencies.yml 3.04 KB
Newer Older
1
2
3
parameters:
- name: platform
  type: string
4
5
6
7
8
9
10
- name: python_env
  type: string
  default: default
  values:
  - default
  - noop
  - venv
11
12
13
14
15

steps:
- template: config-version.yml
  parameters:
    platform: ${{ parameters.platform }}
16
    python_env: ${{ parameters.python_env }}
17
18
19
20

- script: |
    set -e
    sudo apt-get install -y swig3.0
21
    sudo rm -f /usr/bin/swig
22
23
24
25
26
27
28
29
30
31
32
33
34
    sudo ln -s swig3.0 /usr/bin/swig
  displayName: (Ubuntu) Downgrade swig
  condition: and(succeeded(), contains('${{ parameters.platform }}', 'ubuntu'))

- script: |
    set -e
    brew install 'swig@3'
    rm /usr/local/bin/swig
    ln -s '/usr/local/opt/swig@3/bin/swig' /usr/local/bin/swig
  displayName: (macOS) Downgrade swig
  condition: and(succeeded(), contains('${{ parameters.platform }}', 'macos'))

- script: |
35
36
37
    set -e
    azcopy copy 'https://nni.blob.core.windows.net/cache/dependencies-${{ parameters.platform }}.zip' dependencies.zip
    python test/vso_tools/unpack_dependencies.py dependencies.zip
38
    rm dependencies.zip
39
40
41
42
43
44
45
  displayName: (POSIX) Download cache
  condition: and(succeeded(), not(contains('${{ parameters.platform }}', 'windows')))
  continueOnError: true

- powershell: |
    azcopy copy 'https://nni.blob.core.windows.net/cache/dependencies-${{ parameters.platform }}.zip' dependencies.zip
    python test/vso_tools/unpack_dependencies.py dependencies.zip
46
    Remove-Item dependencies.zip
47
48
49
  displayName: (Windows) Download cache
  condition: and(succeeded(), contains('${{ parameters.platform }}', 'windows'))
  continueOnError: true
50
51
52
53
54
55

- script: |
    mv dependencies/recommended_legacy.txt dependencies/recommended.txt
  displayName: (legacy) Activate legacy dependencies
  condition: and(succeeded(), contains('${{ parameters.platform }}', 'legacy'))

56
57
58
59
60
61
- ${{ if contains(parameters.platform, 'windows') }}:
    powershell:
      Move-Item -Force -Path dependencies/recommended_gpu.txt -Destination dependencies/recommended.txt
  ${{ else }}:
    script: |
      mv dependencies/recommended_gpu.txt dependencies/recommended.txt
62
63
64
  displayName: (GPU) Activate CUDA dependencies
  condition: and(succeeded(), contains('${{ parameters.platform }}', 'gpu'))

65
66
67
68
69
70
71
72
73
74
75
- script: |
    echo '===== develop ====='
    python -m pip install -r dependencies/develop.txt
    echo '===== required ====='
    python -m pip install -r dependencies/required.txt
    echo '===== required extra ====='
    python -m pip install -r dependencies/required_extra.txt
    echo '===== recommended ====='
    python -m pip install -r dependencies/recommended.txt
  displayName: Install Python dependencies

76
77
78
- script: |
    ls -al ${HOME}/.local/bin
    echo "##vso[task.setvariable variable=PATH]${HOME}/.local/bin:${PATH}"
79
  displayName: (POSIX) Add local bin to PATH
80
81
  condition: and(succeeded(), not(contains('${{ parameters.platform }}', 'windows')))

82
83
84
85
# TODO: Delete this after upgrading to PyTorch 1.11.
- script: |
    python test/vso_tools/interim_patch.py
  displayName: Torch utils tensorboard interim patch
86
87

- script: |
88
89
90
    python --version
    python -m pip --version
    python -m pip list
91
  displayName: List pip dependencies