-
Notifications
You must be signed in to change notification settings - Fork 29
/
azure-pipelines.yml
111 lines (95 loc) · 4.51 KB
/
azure-pipelines.yml
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
105
106
107
108
109
110
111
trigger:
batch: true
branches:
include:
- main
- release/*
resources:
repositories:
- repository: niveristand-custom-device-build-tools
type: github
ref: main
endpoint: nivs-custom-devices
name: ni/niveristand-custom-device-build-tools
stages:
- template: azure-templates/stages.yml
parameters:
stageName: 'BuildComplexCase'
disableDiff: True
# Test Versions - At least 1 of each supported LabVIEW version and 1 of each bitness
lvVersionsToBuild:
- version: '2023'
bitness: '64bit'
- version: '2024'
bitness: '64bit'
- version: '2025'
bitness: '64bit'
# Test Dependencies - multiple dependencies that are expected in the build steps below this
dependencies:
- source: '\\nirvana\Measurements\VeriStandAddons\prototype\dependency-test-1'
file: '$target\DependencyLibrary1.lvlibp'
destination: 'test-build\Includes'
- source: '\\nirvana\Measurements\VeriStandAddons\prototype\dependency-test-2'
file: '$target\DependencyLibrary2.lvlibp'
destination: 'test-build\Other\Includes'
- source: '\\nirvana\Measurements\VeriStandAddons\prototype\dependency-test-3'
file: '$target\DependencyLibrary3.lvlibp'
destination: 'test-build\Other\Includes'
# Test Codegen Steps
codegenVis:
- 'test-build\Source\codegenTest\codegen1.vi'
- 'test-build\Source\codegenTest\codegen2.vi'
# Test Individual Build Specs using standard build operations in LabVIEW, and exclusion rules
buildSteps:
- projectLocation: 'test-build\Source\Individual Build Specs.lvproj'
buildOperation: 'ExecuteBuildSpec'
target: 'My Computer'
buildSpec: 'BuildSpecSameName'
- projectLocation: 'test-build\Source\Individual Build Specs.lvproj'
buildOperation: 'ExecuteBuildSpec'
target: 'My Computer'
buildSpec: 'BuildSpecUnique64bitOnly'
- projectLocation: '$(CD.Workspace)\niveristand-custom-device-build-tools\test-build\Source\Individual Build Specs.lvproj'
buildOperation: 'ExecuteBuildSpec'
target: 'Linux x64'
buildSpec: 'BuildSpecSameName'
projectOverride: 'Absolute'
# Test BuildAllTargets special build operation in LabVIEW, override bitness with other operations before and after
- projectLocation: 'test-build\Source\All Target Build Specs.lvproj'
buildOperation: 'ExecuteBuildSpecAllTargets'
target: 'This value does not matter'
buildSpec: 'BuildSpecAllTargets'
# Test BuildAll special build operation in LabVIEW
- projectLocation: 'test-build\Source\All Build Specs.lvproj'
buildOperation: 'ExecuteAllBuildSpecs'
target: 'This value does not matter'
buildSpec: 'This value does not matter'
releaseVersion: '25.0.0'
buildOutputLocation: 'test-build\Built'
archiveLocation: '\\nirvana\Measurements\VeriStandAddons\prototype\niveristand-custom-device-build-tools\complexCase'
# Test Building multiple packages with multiple payload maps
packages:
- controlFileName: 'test-build\control-a'
payloadMaps:
- payloadLocation: 'Output-1A'
installLocation: 'documents\National Instruments\NI VeriStand $(CD.LabVIEW.Version)_$(nipkgx64suffix)\Build Tools Test\Output-1A'
- payloadLocation: 'Output-2A'
installLocation: 'documents\National Instruments\NI VeriStand $(CD.LabVIEW.Version)_$(nipkgx64suffix)\Build Tools Test\Output-2A'
- controlFileName: 'test-build\control-b'
payloadMaps:
- payloadLocation: 'Output-1B'
installLocation: 'documents\National Instruments\NI VeriStand $(CD.LabVIEW.Version)_$(nipkgx64suffix)\Build Tools Test\Output-1B'
- payloadLocation: 'Output-2B'
installLocation: 'documents\National Instruments\NI VeriStand $(CD.LabVIEW.Version)_$(nipkgx64suffix)\Build Tools Test\Output-2B'
# Test Empty cases
- template: azure-templates/stages.yml
parameters:
stageName: 'BuildMinimalCase'
buildSteps:
- projectLocation: 'test-build\Source\Empty Build Spec.lvproj'
buildOperation: 'ExecuteBuildSpec'
target: 'My Computer'
buildSpec: 'EmptySpec'
releaseVersion: '25.0.0'
buildOutputLocation: 'test-build\Built'
archiveLocation: '\\nirvana\Measurements\VeriStandAddons\prototype\niveristand-custom-device-build-tools\emptyCase'