jobs:
- job: 'integration_test_local_ubuntu'

  steps:
  - script: python3 -m pip install --upgrade pip setuptools --user
    displayName: 'Install python tools'
  - script: |
      source install.sh
    displayName: 'Install nni toolkit via source code'
  - script: |
      python3 -m pip install scikit-learn==0.20.0 --user
      python3 -m pip install torch==0.4.1 --user
      python3 -m pip install torchvision==0.2.1 --user
      python3 -m pip install keras==2.1.6 --user
      python3 -m pip install tensorflow-gpu==1.12.0 --user
      sudo apt-get install swig -y
      PATH=$HOME/.local/bin:$PATH nnictl package install --name=SMAC
      PATH=$HOME/.local/bin:$PATH nnictl package install --name=BOHB
    displayName: 'Install dependencies for integration tests'
  - script: |
      cd test
      source unittest.sh
    displayName: 'Unit test'
  - script: |
      cd test
      PATH=$HOME/.local/bin:$PATH python3 naive_test.py
    displayName: 'Naive test'
  - script: |
      cd test
      PATH=$HOME/.local/bin:$PATH python3 tuner_test.py
    displayName: 'Built-in tuners / assessors tests'
  - script: |
      cd test
      PATH=$HOME/.local/bin:$PATH python3 config_test.py --ts local --local_gpu
    displayName: 'Examples and advanced features tests on local machine'
  - script: |
      cd test
      PATH=$HOME/.local/bin:$PATH python3 metrics_test.py
    displayName: 'Trial job metrics test'
