azure-pipelines.yml 5.29 KB
Newer Older
chicm-ms's avatar
chicm-ms committed
1
2
3
# Azure hosted agents specification:
# https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops

Gems Guo's avatar
Gems Guo committed
4
jobs:
chicm-ms's avatar
chicm-ms committed
5
- job: 'ubuntu_1804_python36'
chicm-ms's avatar
chicm-ms committed
6
  pool:
chicm-ms's avatar
chicm-ms committed
7
    vmImage: 'Ubuntu 18.04'
Gems Guo's avatar
Gems Guo committed
8
9

  steps:
chicm-ms's avatar
chicm-ms committed
10
11
12
13
  - script: |
      python3 -m pip install --upgrade pip setuptools --user
      python3 -m pip install pylint==2.3.1 astroid==2.2.5 --user
      python3 -m pip install coverage --user
14
      echo "##vso[task.setvariable variable=PATH]${HOME}/.local/bin:${PATH}"
Gems Guo's avatar
Gems Guo committed
15
    displayName: 'Install python tools'
chicm-ms's avatar
chicm-ms committed
16
17
18
  - script: |
      source install.sh
    displayName: 'Install nni toolkit via source code'
19
20
21
22
  - script: |
      set -e
      cd src/nni_manager
      yarn eslint
chicm-ms's avatar
chicm-ms committed
23
      # uncomment following 2 lines to enable webui eslint
Lijiao's avatar
Lijiao committed
24
25
      cd ../webui
      yarn eslint
26
    displayName: 'Run eslint'
27
  - script: |
chicm-ms's avatar
chicm-ms committed
28
29
      python3 -m pip install torch==1.5.0+cpu torchvision==0.6.0+cpu -f https://download.pytorch.org/whl/torch_stable.html --user
      python3 -m pip install tensorflow==1.15.2 --user
chicm-ms's avatar
chicm-ms committed
30
31
      python3 -m pip install keras==2.1.6 --user
      python3 -m pip install gym onnx --user
32
      python3 -m pip install sphinx==1.8.3 sphinx-argparse==0.2.5 sphinx-markdown-tables==0.0.9 sphinx-rtd-theme==0.4.2 sphinxcontrib-websupport==1.1.0 recommonmark==0.5.0 --user
chicm-ms's avatar
chicm-ms committed
33
      sudo apt-get install swig -y
34
35
      nnictl package install --name=SMAC
      nnictl package install --name=BOHB
chicm-ms's avatar
chicm-ms committed
36
    displayName: 'Install dependencies'
Gems Guo's avatar
Gems Guo committed
37
  - script: |
chicm-ms's avatar
chicm-ms committed
38
39
40
41
42
43
44
45
      set -e
      python3 -m pylint --rcfile pylintrc nni_annotation
      python3 -m pylint --rcfile pylintrc nni_cmd
      python3 -m pylint --rcfile pylintrc nni_gpu_tool
      python3 -m pylint --rcfile pylintrc nni_trial_tool
      python3 -m pylint --rcfile pylintrc nni
      python3 -m pylint --rcfile pylintrc nnicli
    displayName: 'Run pylint'
46
47
  - script: |
      python3 -m pip install flake8 --user
chicm-ms's avatar
chicm-ms committed
48
      EXCLUDES=./src/nni_manager/,./src/webui,./tools/nni_annotation/testcase/,./examples/trials/mnist-nas/*/mnist*.py,./examples/trials/nas_cifar10/src/cifar10/general_child.py
chicm-ms's avatar
chicm-ms committed
49
      python3 -m flake8 . --count --exclude=$EXCLUDES --select=E9,F63,F72,F82 --show-source --statistics
50
    displayName: 'Run flake8 tests to find Python syntax errors and undefined names'
51
52
  - script: |
      cd test
chicm-ms's avatar
chicm-ms committed
53
      source scripts/unittest.sh
54
    displayName: 'Unit test'
Gems Guo's avatar
Gems Guo committed
55
56
  - script: |
      cd test
chicm-ms's avatar
chicm-ms committed
57
58
      python3 nni_test/nnitest/run_tests.py --config config/pr_tests.yml
    displayName: 'Simple test'
59
60
61
62
  - script: |
      cd docs/en_US/
      sphinx-build -M html . _build -W
    displayName: 'Sphinx Documentation Build check'
63

chicm-ms's avatar
chicm-ms committed
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
- job: 'ubuntu_1604_python35_legacy_torch'
  pool:
    vmImage: 'Ubuntu 16.04'

  steps:
  - script: |
      python3 -m pip install --upgrade pip setuptools --user
      python3 -m pip install coverage --user
      echo "##vso[task.setvariable variable=PATH]${HOME}/.local/bin:${PATH}"
    displayName: 'Install python tools'
  - script: |
      source install.sh
    displayName: 'Install nni toolkit via source code'
  - script: |
      python3 -m pip install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html --user
      python3 -m pip install tensorflow==1.15.2 --user
      python3 -m pip install keras==2.1.6 --user
      python3 -m pip install gym onnx --user
      sudo apt-get install swig -y
      nnictl package install --name=SMAC
      nnictl package install --name=BOHB
    displayName: 'Install dependencies'
  - script: |
      cd test
      source scripts/unittest.sh
    displayName: 'Unit test'
  - script: |
      cd test
      python3 nni_test/nnitest/run_tests.py --config config/pr_tests.yml
    displayName: 'Simple test'


- job: 'macos_1015_python37'
97
  pool:
98
    vmImage: 'macOS-10.15'
99
100
101
102
103
104

  steps:
  - script: python3 -m pip install --upgrade pip setuptools
    displayName: 'Install python tools'
  - script: |
      source install.sh
105
      echo "##vso[task.setvariable variable=PATH]${HOME}/Library/Python/3.7/bin:${PATH}"
106
    displayName: 'Install nni toolkit via source code'
107
  - script: |
chicm-ms's avatar
chicm-ms committed
108
109
110
      # pytorch Mac binary does not support CUDA, default is cpu version
      python3 -m pip install torchvision==0.6.0 torch==1.5.0 --user
      python3 -m pip install tensorflow==1.15.2 --user
111
      brew install swig@3
112
      rm /usr/local/bin/swig
113
      ln -s /usr/local/opt/swig\@3/bin/swig /usr/local/bin/swig
114
115
116
117
      nnictl package install --name=SMAC
    displayName: 'Install dependencies'
  - script: |
      cd test
chicm-ms's avatar
chicm-ms committed
118
      source scripts/unittest.sh
119
    displayName: 'Unit test'
120
121
  - script: |
      cd test
chicm-ms's avatar
chicm-ms committed
122
123
      python3 nni_test/nnitest/run_tests.py --config config/pr_tests.yml
    displayName: 'Simple test'
chicm-ms's avatar
chicm-ms committed
124

chicm-ms's avatar
chicm-ms committed
125
- job: 'win2016_python37'
chicm-ms's avatar
chicm-ms committed
126
127
128
129
130
131
132
133
134
135
  pool:
    vmImage: 'vs2017-win2016'

  steps:
  - script: |
      powershell.exe -file install.ps1
    displayName: 'Install nni toolkit via source code'
  - script: |
      python -m pip install scikit-learn==0.20.0 --user
      python -m pip install keras==2.1.6 --user
chicm-ms's avatar
chicm-ms committed
136
137
      python -m pip install torch==1.5.0+cpu torchvision==0.6.0+cpu -f https://download.pytorch.org/whl/torch_stable.html --user
      python -m pip install tensorflow==1.15.2 --user
chicm-ms's avatar
chicm-ms committed
138
139
140
    displayName: 'Install dependencies'
  - script: |
      cd test
chicm-ms's avatar
chicm-ms committed
141
      powershell.exe -file scripts/unittest.ps1
chicm-ms's avatar
chicm-ms committed
142
143
144
    displayName: 'unit test'
  - script: |
      cd test
chicm-ms's avatar
chicm-ms committed
145
146
      python nni_test/nnitest/run_tests.py --config config/pr_tests.yml
    displayName: 'Simple test'