trigger: none
pr: none
schedules:
- cron: 0 16 * * *
  branches:
    include: [ master ]

jobs:
- job: linux
  pool: nni-it
  timeoutInMinutes: 120

  steps:
  - template: templates/setup-non-ms-hosted-agent.yml

  - template: templates/config-version.yml
    parameters:
      platform: ubuntu-latest-gpu

  - template: templates/install-dependencies.yml
    parameters:
      platform: ubuntu-latest-gpu

  - template: templates/install-nni.yml

  - script: |
      set -e
      cd examples/tuners/customized_tuner
      python setup.py develop
      nnictl algo register --meta meta_file.yml
    displayName: Install customized tuner

  - script: |
      cd test
      python nni_test/nnitest/run_tests.py --config config/integration_tests.yml --ts local
    displayName: Integration test

- job: windows
  pool: NNI CI WINDOWS FULL TEST
  timeoutInMinutes: 120

  steps:
  - script: |
      python -m pip install -U -r dependencies/setup.txt
      python -m pip install -r dependencies/develop.txt
      python -m pip install -r dependencies/recommended.txt
    displayName: Install Python tools

  - script: |
      python -m pip uninstall nni --yes
      set NNI_RELEASE=999.0
      python setup.py build_ts
      python setup.py bdist_wheel -p win_amd64
      python -m pip install dist/nni-999.0-py3-none-win_amd64.whl[PPOTuner,DNGO]
    displayName: Install NNI

  - script: |
      cd examples/tuners/customized_tuner
      python setup.py develop --user
      nnictl algo register --meta meta_file.yml
    displayName: Install example customized tuner

  # TODO: remove unit test here

  - script: |
      cd test
      python -m pytest ut
      echo "TODO: TypeScript UT"
    displayName: Unit test
    continueOnError: true

  - script: |
      cd test
      python nni_test/nnitest/run_tests.py --config config/integration_tests.yml --ts local
    displayName: Integration test
