integration-test-frameworkcontroller.yml 2.31 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
trigger: none
pr: none
schedules:
- cron: 0 16 * * *
  branches:
    include: [ master ]

# variables set on VSO: (mostly for security concern)
#   manager_ip
#   docker_hub_password

jobs:
- job: frameworkcontroller
  pool: NNI CI KUBE CLI
  timeoutInMinutes: 120

  steps:
  - script: |
      echo "Working directory: ${PWD}"
      echo "##vso[task.setvariable variable=PATH]${PATH}:${HOME}/.local/bin"
      python3 test/vso_tools/generate_nni_version.py
      python3 -m pip install --upgrade pip setuptools
    displayName: Prepare

  - script: |
      set -e
      python3 test/vso_tools/install_nni.py $(NNI_RELEASE) SMAC,BOHB
      cd examples/tuners/customized_tuner
      python3 setup.py develop --user
      nnictl algo register --meta meta_file.yml
    displayName: Install NNI

  - script: |
      set -e
      docker login -u nnidev -p $(docker_hub_password)
      docker build --build-arg NNI_RELEASE=$(NNI_RELEASE) -t nnidev/nni-nightly .
      docker push nnidev/nni-nightly
    displayName: Build and upload docker image

  - script: |
      set -e
      cd test
43
      python3 training_service/nnitest/generate_ts_config.py \
44
          --ts frameworkcontroller \
45
          --keyvault_vaultname $(keyvault_vaultname) \
46
47
48
          --keyvault_name $(keyvault_name) \
          --azs_account $(azs_account) \
          --azs_share $(azs_share) \
49
50
          --nni_docker_image nnidev/nni-nightly \
          --nni_manager_ip $(manager_ip)
51
      python3 training_service/nnitest/run_tests.py --config training_service/config/integration_tests.yml --ts frameworkcontroller --exclude multi-phase,multi-thread
52
    displayName: Integration test
53
54
55
56

  - script: |
      set -e
      cd test
57
      python3 training_service/nnitest/generate_ts_config.py \
58
          --ts frameworkcontroller \
59
          --keyvault_vaultname  $(keyvault_vaultname) \
60
61
62
63
64
65
66
          --keyvault_name $(keyvault_name) \
          --azs_account $(azs_account) \
          --azs_share $(azs_share) \
          --nni_docker_image nnidev/nni-nightly \
          --nni_manager_ip $(manager_ip) \
          --reuse_mode True \
          --config_version v2
67
      python3 training_service/nnitest/run_tests.py --config training_service/config/integration_tests_config_v2.yml --ts frameworkcontroller --reuse_mode True --exclude multi-phase,multi-thread
68
    displayName: Integration test (reuse mode)