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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
parameters:
- name: demands
type: string
default: "ucx_iodemo -equals yes"
- name: initial_delay
type: number
default: 20
- name: cycles
type: number
default: 100
- name: downtime
type: number
default: 5
- name: uptime
type: number
default: 40
- name: tests
type: object
default:
tag:
args: ""
duration: 480
active:
args: "-q -A"
duration: 480
jobs:
- job: io_build
displayName: Build io_demo
pool:
name: MLNX
demands: ${{ parameters.demands }}
steps:
# address permissions issue when some files created as read-only
- bash: chmod u+rwx ./ -R
- checkout: self
clean: true
fetchDepth: 100
displayName: Checkout
- bash: |
set -eEx
./autogen.sh
./contrib/configure-release --prefix=$(Build.Repository.LocalPath)/install
make -j`nproc`
make install
displayName: Build
name: build
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.Repository.LocalPath)'
contents: |
buildlib/az-helpers.sh
buildlib/az-network-corrupter.sh
buildlib/io_demo/iodemo_analyzer.py
install/**
test/apps/iodemo/run_io_demo.sh
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop_$(Build.BuildId)
- job: test
dependsOn: io_build
pool:
name: MLNX
demands: ${{ parameters.demands }}
strategy:
matrix:
${{ each test in parameters.tests }}:
${{ test.Key }}:
test_name: ${{ test.Key }}
test_args: ${{ test.Value.args }}
test_time: ${{ test.Value.duration }}
maxParallel: 1
variables:
workspace: drop_$(Build.BuildId)
io_demo_exe: drop_$(Build.BuildId)/install/bin/io_demo
initial_delay: ${{ parameters.initial_delay }}
cycles: ${{ parameters.cycles }}
downtime: ${{ parameters.downtime }}
uptime: ${{ parameters.uptime }}
displayName: "io_demo: "
steps:
- checkout: none
- task: DownloadBuildArtifacts@0
displayName: 'Download Build Artifacts'
inputs:
artifactName: drop_$(Build.BuildId)
downloadPath: $(System.DefaultWorkingDirectory)
- bash: chmod u+rwx $(workspace) -R
- template: az-stage-io-demo.yaml
parameters:
name: $(test_name)
iodemo_args: $(test_args)
duration: $(test_time)
|