pipelines-it-pai-windows.yml 2.54 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
jobs:
- job: 'build_docker_image'
  timeoutInMinutes: 0
  pool:
    vmImage: 'Ubuntu 16.04'
  steps:
  - script: python3 -m pip install --upgrade pip setuptools --user
    displayName: 'Install python tools'

  - script: |
      cd deployment/pypi
      echo 'building prerelease package...'
      make build
      ls $(Build.SourcesDirectory)/deployment/pypi/dist/
    condition: eq( variables['build_docker_img'], 'true' )
    displayName: 'build nni bdsit_wheel'

  - script: |
      if [ $(build_docker_img) = 'true' ]
      then
        cd deployment/pypi
        docker login -u $(docker_hub_user) -p $(docker_hub_pwd)
        echo 'updating docker file for installing nni from local...'
        # update Dockerfile to install NNI in docker image from whl file built in last step
        sed -ie 's/RUN python3 -m pip --no-cache-dir install nni/COPY .\/dist\/* .\nRUN python3 -m pip install nni-*.whl/' ../docker/Dockerfile
        cat ../docker/Dockerfile
        export IMG_TAG=`date -u +%y%m%d%H%M`

        echo 'build and upload docker image'
        docker build -f ../docker/Dockerfile -t $(test_docker_img_name):$IMG_TAG .
        docker push $(test_docker_img_name):$IMG_TAG

        export TEST_IMG=$(test_docker_img_name):$IMG_TAG
        cd ../../
      else
        export TEST_IMG=$(existing_docker_img)
      fi
      echo "##vso[task.setvariable variable=TEST_IMG]$TEST_IMG"
    displayName: 'build docker image'
  - script:
      echo $TEST_IMG
      echo "##vso[task.setvariable variable=docker_image;isOutput=true]$TEST_IMG"
    name: setvariableStep
    displayName: 'set image variable'

- job: 'integration_test_pai'
  timeoutInMinutes: 0
  dependsOn: build_docker_image
  variables:
    docker_image: $[ dependencies.build_docker_image.outputs['setvariableStep.docker_image'] ]

  steps:
  - script: |
      set PATH=$(ENV_PATH)
      python --version
      powershell.exe -file install.ps1
    displayName: 'Install nni toolkit via source code'
58
59
60
61
  - script: |
      set PATH=$(ENV_PATH)
      python -m pip install scikit-learn==0.21.0 --user
    displayName: 'Install dependencies for integration tests'
62
63
64
65
66
67
68
69
  - script: |
      cd test
      set PATH=$(ENV_PATH)
      python --version
      python generate_ts_config.py --ts pai --pai_host $(pai_host) --pai_user $(pai_user) --pai_pwd $(pai_pwd) --vc $(pai_virtual_cluster) --nni_docker_image $(docker_image) --data_dir $(data_dir) --output_dir $(output_dir) --nni_manager_ip $(nni_manager_ip)

      python config_test.py --ts pai --exclude multi_phase,smac,bohb
    displayName: 'Examples and advanced features tests on pai'