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

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