pipelines-it-remote.yml 2.43 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
  - task: CopyFilesOverSSH@0
    inputs:
SparkSnail's avatar
SparkSnail committed
23
      sshEndpoint: $(end_point)
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
  - task: CopyFilesOverSSH@0
    inputs:
SparkSnail's avatar
SparkSnail committed
30
      sshEndpoint: $(end_point)
SparkSnail's avatar
SparkSnail committed
31
32
33
34
35
36
      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
37
      sshEndpoint: $(end_point)
SparkSnail's avatar
SparkSnail committed
38
39
40
41
42
      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
43
      secureFile: $(remote_private_key)
SparkSnail's avatar
SparkSnail committed
44
  - script: |
SparkSnail's avatar
SparkSnail committed
45
      cp $(Agent.TempDirectory)/$(remote_private_key) test/id_rsa
SparkSnail's avatar
SparkSnail committed
46
      chmod 600 test/id_rsa
SparkSnail's avatar
SparkSnail committed
47
      scp -P $(remote_port) -i test/id_rsa $(remote_user)@$(remote_host):/tmp/nnitest/$(Build.BuildId)/port test/port
SparkSnail's avatar
SparkSnail committed
48
49
50
      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'