pipelines-it-remote.yml 2.44 KB
Newer Older
SparkSnail's avatar
SparkSnail committed
1
2
jobs:
- job: 'integration_test_remote'
3
  timeoutInMinutes: 0
SparkSnail's avatar
SparkSnail committed
4
5

  steps:
SparkSnail's avatar
SparkSnail committed
6
  - script: python3 -m pip install --upgrade pip setuptools --user
SparkSnail's avatar
SparkSnail committed
7
    displayName: 'Install python tools'
8
9
10
11
12
13
  - script: |
      cd deployment/pypi
      echo 'building prerelease package...'
      make build
      ls $(Build.SourcesDirectory)/deployment/pypi/dist/
    displayName: 'build nni bdsit_wheel'
SparkSnail's avatar
SparkSnail committed
14
15
16
  - script: |
      source install.sh
    displayName: 'Install nni toolkit via source code'
SparkSnail's avatar
SparkSnail committed
17
18
19
  - script: |
      sudo apt-get install swig -y
      PATH=$HOME/.local/bin:$PATH nnictl package install --name=SMAC
20
      PATH=$HOME/.local/bin:$PATH nnictl package install --name=BOHB
SparkSnail's avatar
SparkSnail committed
21
    displayName: 'Install dependencies for integration tests in remote mode'
SparkSnail's avatar
SparkSnail committed
22
23
  - task: CopyFilesOverSSH@0
    inputs:
SparkSnail's avatar
SparkSnail committed
24
      sshEndpoint: $(end_point)
25
26
      sourceFolder: deployment/pypi/dist/
      targetFolder: /tmp/nnitest/$(Build.BuildId)/dist
SparkSnail's avatar
SparkSnail committed
27
      overwrite: true
28
    displayName: 'Copy dist files to remote machine'
SparkSnail's avatar
SparkSnail committed
29
30
  - task: CopyFilesOverSSH@0
    inputs:
SparkSnail's avatar
SparkSnail committed
31
      sshEndpoint: $(end_point)
SparkSnail's avatar
SparkSnail committed
32
33
34
35
36
37
      sourceFolder: test
      targetFolder: /tmp/nnitest/$(Build.BuildId)/test
      overwrite: true
    displayName: 'Copy test files to remote machine'
  - task: SSH@0
    inputs:
SparkSnail's avatar
SparkSnail committed
38
      sshEndpoint: $(end_point)
SparkSnail's avatar
SparkSnail committed
39
40
41
42
43
      runOptions: commands
      commands: python3 /tmp/nnitest/$(Build.BuildId)/test/remote_docker.py --mode start --name $(Build.BuildId) --image nni/nni
    displayName: 'Start docker'
  - task: DownloadSecureFile@1
    inputs:
SparkSnail's avatar
SparkSnail committed
44
      secureFile: $(remote_private_key)
SparkSnail's avatar
SparkSnail committed
45
  - script: |
SparkSnail's avatar
SparkSnail committed
46
      cp $(Agent.TempDirectory)/$(remote_private_key) test/id_rsa
SparkSnail's avatar
SparkSnail committed
47
      chmod 600 test/id_rsa
SparkSnail's avatar
SparkSnail committed
48
      scp -P $(remote_port) -i test/id_rsa $(remote_user)@$(remote_host):/tmp/nnitest/$(Build.BuildId)/port test/port
SparkSnail's avatar
SparkSnail committed
49
50
51
      cat test/port
    displayName: 'Get docker port'
  - script: |
Chengmin Chi's avatar
updates  
Chengmin Chi committed
52
      set -e
Chengmin Chi's avatar
Chengmin Chi committed
53
54
55
56
      cd test
      python3 generate_ts_config.py --ts remote --remote_user $(docker_user) --remote_host $(remote_host) \
      --remote_port $(cat port) --remote_pwd $(docker_pwd) --nni_manager_ip $(nni_manager_ip)
      cat training_service.yml
57
      PATH=$HOME/.local/bin:$PATH python3 config_test.py --ts remote --exclude cifar10
Chengmin Chi's avatar
updates  
Chengmin Chi committed
58
      PATH=$HOME/.local/bin:$PATH python3 metrics_test.py
SparkSnail's avatar
SparkSnail committed
59
60
61
    displayName: 'integration test'
  - task: SSH@0
    inputs:
SparkSnail's avatar
SparkSnail committed
62
      sshEndpoint: $(end_point)
SparkSnail's avatar
SparkSnail committed
63
64
65
      runOptions: commands
      commands: python3 /tmp/nnitest/$(Build.BuildId)/test/remote_docker.py --mode stop --name $(Build.BuildId)
    displayName: 'Stop docker'