-
Notifications
You must be signed in to change notification settings - Fork 29
/
azure-pipelines.yml
132 lines (115 loc) · 5.14 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
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: '32bit'
- version: '2023'
bitness: '64bit'
- version: '2024'
bitness: '32bit'
- version: '2024'
bitness: '64bit'
- version: '2025'
bitness: '32bit'
- 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'
exclusions:
- version: '2023'
bitness: '32bit'
- version: '2024'
bitness: '32bit'
- projectLocation: '$(CD.Workspace)\niveristand-custom-device-build-tools\test-build\Source\Individual Build Specs.lvproj'
buildOperation: 'ExecuteBuildSpec'
target: 'Linux x64'
buildSpec: 'BuildSpecSameName'
projectOverride: 'Absolute'
- projectLocation: 'test-build\Source\Individual Build Specs.lvproj'
buildOperation: 'ExecuteBuildSpec'
target: 'Linux x64'
buildSpec: 'BuildSpecUnique32bitOnly'
exclusions:
- version: '2023'
bitness: '64bit'
- version: '2024'
bitness: '64bit'
# 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'