@@ -13,6 +13,10 @@ parameters:
13
13
type : string
14
14
default : ' '
15
15
16
+ - name : configuration
17
+ type : string
18
+ default : ' Release'
19
+
16
20
- name : container
17
21
type : string
18
22
default : ' '
@@ -155,6 +159,11 @@ jobs:
155
159
- name : sourcesPath
156
160
value : $(vmrPath)
157
161
162
+ # Must be a path under $(sourcesPath). Inside the docker container, we mount $(sourcesPath) to /vmr
163
+ # and can't write outside of that folder.
164
+ - name : artifactsStagingDir
165
+ value : $(sourcesPath)/artifacts/staging
166
+
158
167
templateContext :
159
168
outputParentDirectory : $(Build.ArtifactStagingDirectory)
160
169
outputs :
@@ -166,14 +175,14 @@ jobs:
166
175
sbomEnabled : false
167
176
168
177
- output : pipelineArtifact
169
- path : $(Build.ArtifactStagingDirectory)/publishing
178
+ path : $(artifactsStagingDir)
170
179
artifact : $(Agent.JobName)_Artifacts
171
180
displayName : Publish Artifacts
172
181
sbomEnabled : true
173
182
174
183
# Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs
175
184
- output : buildArtifacts
176
- PathtoPublish : $(Build.ArtifactStagingDirectory )/manifests/$(Agent.JobName).xml
185
+ PathtoPublish : $(artifactsStagingDir )/manifests/${{ parameters.configuration }} /$(Agent.JobName).xml
177
186
ArtifactName : VerticalManifests
178
187
displayName : Publish Vertical Manifest
179
188
sbomEnabled : false
@@ -276,13 +285,13 @@ jobs:
276
285
if /I '${{ parameters.useDevVersions }}'=='True' set extraBuildArguments=%extraBuildArguments% -dev
277
286
set extraBuildProperties=
278
287
if not [${{ parameters.buildPass }}]==[] set extraBuildProperties=%extraBuildProperties% /p:DotNetBuildPass=${{ parameters.buildPass }}
279
- call build.cmd -ci -cleanWhileBuilding -prepareMachine %extraBuildArguments% /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) %extraBuildProperties% ${{ parameters.extraProperties }}
288
+ call build.cmd -ci -cleanWhileBuilding -prepareMachine %extraBuildArguments% -c ${{ parameters.configuration }} /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) %extraBuildProperties% ${{ parameters.extraProperties }}
280
289
displayName: Build
281
290
workingDirectory: ${{ variables.sourcesPath }}
282
291
283
292
- ${{ if eq(parameters.runTests, 'True') }} :
284
293
- script : |
285
- call build.cmd -ci -prepareMachine -test -excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) ${{ parameters.extraProperties }}
294
+ call build.cmd -ci -prepareMachine -test -excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog -c ${{ parameters.configuration }} /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) ${{ parameters.extraProperties }}
286
295
displayName: Run Tests
287
296
workingDirectory: ${{ variables.sourcesPath }}
288
297
timeoutInMinutes: ${{ variables.runTestsTimeout }}
@@ -330,7 +339,8 @@ jobs:
330
339
df -h
331
340
332
341
customEnvVars=""
333
- customBuildArgs="--ci --clean-while-building --prepareMachine"
342
+ customBuildArgs="--ci --clean-while-building --prepareMachine -c ${{ parameters.configuration }}"
343
+
334
344
if [[ '${{ parameters.runOnline }}' == 'True' ]]; then
335
345
customBuildArgs="$customBuildArgs --online"
336
346
fi
@@ -473,10 +483,10 @@ jobs:
473
483
474
484
# Only use Docker when a container is specified
475
485
if [[ -n "${{ parameters.container }}" ]]; then
476
- docker run --rm $dockerVolumeArgs -w /vmr ${{ parameters.container }} ./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
486
+ docker run --rm $dockerVolumeArgs -w /vmr ${{ parameters.container }} ./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog -c ${{ parameters.configuration }} $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
477
487
else
478
488
cd $(sourcesPath)
479
- ./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
489
+ ./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog -c ${{ parameters.configuration }} $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
480
490
fi
481
491
482
492
displayName: Run Tests
@@ -588,45 +598,15 @@ jobs:
588
598
publishRunAttachments : true
589
599
testRunTitle : ScenarioTests_$(Agent.JobName)
590
600
591
- - task : CopyFiles@2
592
- inputs :
593
- SourceFolder : $(sourcesPath)/artifacts
594
- Contents : |
595
- assets/**
596
- manifests/**
597
- TargetFolder : $(Build.ArtifactStagingDirectory)/publishing
598
- displayName : Copy artifacts to Artifact Staging Directory
599
-
600
- - ${{ if eq(parameters.targetOS, 'windows') }} :
601
- - powershell : |
602
- $sourcePath = "$(sourcesPath)/artifacts/manifests/VerticalManifest.xml"
603
- $targetPath = "$(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml"
604
- New-Item -ItemType Directory -Path "$(Build.ArtifactStagingDirectory)/manifests" -Force | Out-Null
605
- Copy-Item $sourcePath -Destination $targetPath -Force
606
- displayName: Copy vertical manifest to Artifact Staging Directory
607
- - ${{ else }} :
608
- - script : |
609
- mkdir -p "$(Build.ArtifactStagingDirectory)/manifests"
610
- cp "$(sourcesPath)/artifacts/manifests/VerticalManifest.xml" "$(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml"
611
- displayName: Copy vertical manifest to Artifact Staging Directory
612
-
613
- # When building from source, the Private.SourceBuilt.Artifacts archive already contains the nuget packages
614
- - ${{ if ne(parameters.buildSourceOnly, 'true') }} :
615
- - task : CopyFiles@2
616
- inputs :
617
- SourceFolder : $(sourcesPath)/artifacts/packages
618
- TargetFolder : $(Build.ArtifactStagingDirectory)/publishing/packages
619
- displayName : Copy packages to Artifact Staging Directory
620
-
621
601
- ${{ if or(ne(variables['System.TeamProject'], 'internal'), eq(variables['Build.Reason'], 'PullRequest')) }} :
622
- - publish : $(Build.ArtifactStagingDirectory)/publishing
602
+ - publish : $(artifactsStagingDir)
623
603
artifact : $(Agent.JobName)_Artifacts
624
604
displayName : Publish Artifacts
625
605
continueOnError : true
626
606
627
607
# Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs
628
608
- task : PublishBuildArtifacts@1
629
609
inputs :
630
- PathtoPublish : $(Build.ArtifactStagingDirectory )/manifests/$(Agent.JobName).xml
610
+ PathtoPublish : $(artifactsStagingDir )/manifests/${{ parameters.configuration }} /$(Agent.JobName).xml
631
611
ArtifactName : VerticalManifests
632
612
displayName : Publish Vertical Manifest
0 commit comments