integration-test-kubeflow.yml 2.78 KB
Newer Older
1
2
trigger: none
pr: none
Yuge Zhang's avatar
Yuge Zhang committed
3
4
5
6
7
# Unstable. Disable trigger.
# schedules:
# - cron: 0 16 * * *
#   branches:
#     include: [ master ]
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
43
44
45
46
47
48
49
50
51
52
53

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

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

  steps:
  - script: |
      export NNI_RELEASE=999.$(date -u +%Y%m%d%H%M%S)
      echo "##vso[task.setvariable variable=PATH]${PATH}:${HOME}/.local/bin"
      echo "##vso[task.setvariable variable=NNI_RELEASE]${NNI_RELEASE}"

      echo "Working directory: ${PWD}"
      echo "NNI version: ${NNI_RELEASE}"

      python3 -m pip install --upgrade pip setuptools
    displayName: Prepare

  - script: |
      set -e
      python3 setup.py build_ts
      python3 setup.py bdist_wheel -p manylinux1_x86_64
      python3 -m pip install dist/nni-$(NNI_RELEASE)-py3-none-manylinux1_x86_64.whl[SMAC,BOHB]
    displayName: Build and install NNI

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

  - 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
54
      az login --service-principal -u $(client_id) -p $(client_secret) --tenant $(tenant_id)
55
      python3 training_service/nnitest/generate_ts_config.py \
56
          --ts kubeflow \
57
58
59
60
          --keyvault_vaultname $(keyvault_vaultname) \
          --keyvault_name $(keyvault_name) \
          --azs_account $(azs_account) \
          --azs_share $(azs_share) \
61
62
          --nni_docker_image nnidev/nni-nightly \
          --nni_manager_ip $(manager_ip)
63
      python3 training_service/nnitest/run_tests.py --config training_service/config/integration_tests.yml --ts kubeflow --exclude multi-phase,multi-thread
64
    displayName: Integration test
65
66
67
68
69

  - script: |
      set -e
      cd test
      az login --service-principal -u $(client_id) -p $(client_secret) --tenant $(tenant_id)
70
      python3 training_service/nnitest/generate_ts_config.py \
71
          --ts kubeflow \
72
          --keyvault_vaultname $(keyvault_vaultname) \
73
74
75
76
77
78
79
          --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
80
      python3 training_service/nnitest/run_tests.py --config training_service/config/integration_tests_config_v2.yml --ts kubeflow --reuse_mode True --exclude multi-phase,multi-thread
81
    displayName: Integration test (reuse mode)