1
1
name : DSC-Release-$(Build.BuildId)
2
2
trigger : none
3
3
4
- parameters :
5
- - name : ' debugConsole'
6
- displayName : ' Enable debug console'
7
- type : boolean
8
- default : false
9
-
10
4
pr :
11
5
branches :
12
6
include :
16
10
variables :
17
11
BuildConfiguration : ' release'
18
12
PackageRoot : ' $(System.ArtifactsDirectory)/Packages'
19
- LinuxContainerImage : ' mcr.microsoft.com/onebranch/cbl-mariner/build:2.0'
20
- WindowsContainerImage : onebranch.azurecr.io/windows/ltsc2019/vse2022:latest
13
+ # LinuxContainerImage: 'mcr.microsoft.com/onebranch/cbl-mariner/build:2.0'
14
+ LinuxContainerImage : ' onebranch.azurecr.io/linux/ubuntu-2204:latest'
15
+ WindowsContainerImage : ' onebranch.azurecr.io/windows/ltsc2022/vse2022:latest'
21
16
22
17
resources :
23
18
repositories :
@@ -30,7 +25,9 @@ extends:
30
25
template : v2/OneBranch.Official.CrossPlat.yml@onebranchTemplates
31
26
parameters :
32
27
featureFlags :
33
- debugConsole : ${{ parameters.debugConsole }}
28
+ WindowsHostVersion :
29
+ Disk : Large
30
+ Version : 2022
34
31
customTags : ' ES365AIMigrationTooling'
35
32
globalSdl :
36
33
disableLegacyManifest : true
@@ -60,6 +57,7 @@ extends:
60
57
displayName : Set PackageVersion
61
58
pool :
62
59
type : windows
60
+ vmImage : windows-latest
63
61
variables :
64
62
repoRoot : $(Build.SourcesDirectory)\DSC
65
63
ob_sdl_tsa_configFile : $(Build.SourcesDirectory)\DSC\.config\tsaoptions.json
@@ -124,24 +122,15 @@ extends:
124
122
displayName : Install Rust
125
123
env :
126
124
ob_restore_phase : true
127
- - task : AzureCLI@2
128
- inputs :
129
- azureSubscription : az-PowerShell-feed-ingestion
130
- scriptType : ' pscore'
131
- scriptLocation : ' inlineScript'
132
- inlineScript : |
133
- $accessToken = az account get-access-token --query accessToken --resource 499b84ac-1321-427f-aa17-267ca6975798 -o tsv
134
-
135
- # Set the access token as a secret, so it doesn't get leaked in the logs
136
- Write-Host "##vso[task.setsecret]$accessToken"
137
- $header = "Bearer $accessToken"
138
- Write-Host "##vso[task.setvariable variable=CARGO_REGISTRIES_POWERSHELL_TOKEN]$header"
139
- displayName : ' Get Azure DevOps Token'
140
- env :
141
- ob_restore_phase : true
142
125
- pwsh : |
143
126
Set-Location "$(Build.SourcesDirectory)/DSC"
144
- ./build.ps1 -Release -Architecture $(buildName) -SkipLinkCheck -UseCFS
127
+ $LLVMBIN = "$($env:PROGRAMFILES)\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\bin"
128
+ if (!(Test-Path $LLVMBIN)) {
129
+ throw "LLVM path '$LLVMBIN' does not exist"
130
+ }
131
+ $env:PATH += ";$LLVMBIN"
132
+ write-verbose -verbose (gcm clang.exe | out-string)
133
+ ./build.ps1 -Release -Architecture $(buildName) -SkipLinkCheck
145
134
displayName: 'Build $(buildName)'
146
135
env:
147
136
ob_restore_phase: true
@@ -257,23 +246,8 @@ extends:
257
246
displayName : Install Rust
258
247
env :
259
248
ob_restore_phase : true
260
- - task : AzureCLI@2
261
- inputs :
262
- azureSubscription : az-PowerShell-feed-ingestion
263
- scriptType : ' pscore'
264
- scriptLocation : ' inlineScript'
265
- inlineScript : |
266
- $accessToken = az account get-access-token --query accessToken --resource 499b84ac-1321-427f-aa17-267ca6975798 -o tsv
267
-
268
- # Set the access token as a secret, so it doesn't get leaked in the logs
269
- Write-Host "##vso[task.setsecret]$accessToken"
270
- $header = "Bearer $accessToken"
271
- Write-Host "##vso[task.setvariable variable=CARGO_REGISTRIES_POWERSHELL_TOKEN]$header"
272
- displayName : ' Get Azure DevOps Token'
273
- env :
274
- ob_restore_phase : true
275
249
- pwsh : |
276
- ./build.ps1 -Release -Architecture x86_64-unknown-linux-gnu -UseCFS
250
+ ./build.ps1 -Release -Architecture x86_64-unknown-linux-gnu
277
251
./build.ps1 -PackageType tgz -Architecture x86_64-unknown-linux-gnu -Release
278
252
Copy-Item ./bin/*.tar.gz "$(ob_outputDirectory)"
279
253
displayName: 'Build x86_64-unknown-linux-gnu'
@@ -287,7 +261,6 @@ extends:
287
261
displayName : Linux-ARM64-gnu
288
262
pool :
289
263
type : linux
290
- hostArchitecture : arm64
291
264
steps :
292
265
- task : RustInstaller@1
293
266
inputs :
@@ -297,26 +270,69 @@ extends:
297
270
displayName : Install Rust
298
271
env :
299
272
ob_restore_phase : true
300
- - task : AzureCLI@2
273
+ - pwsh : |
274
+ apt -y install gcc-aarch64-linux-gnu
275
+ ./build.ps1 -Release -Architecture aarch64-unknown-linux-gnu
276
+ ./build.ps1 -PackageType tgz -Architecture aarch64-unknown-linux-gnu -Release
277
+ Copy-Item ./bin/*.tar.gz "$(ob_outputDirectory)"
278
+ displayName: 'Build aarch64-unknown-linux-gnu'
279
+ condition: succeeded()
280
+
281
+ - job : BuildLinuxMusl
282
+ dependsOn : SetPackageVersion
283
+ variables :
284
+ PackageVersion : $[ dependencies.SetPackageVersion.outputs['Package.Version'] ]
285
+ ob_outputDirectory : ' $(Build.ArtifactStagingDirectory)'
286
+ displayName : Linux-x64-musl
287
+ pool :
288
+ type : linux
289
+ steps :
290
+ - task : RustInstaller@1
301
291
inputs :
302
- azureSubscription : az-PowerShell-feed-ingestion
303
- scriptType : ' pscore'
304
- scriptLocation : ' inlineScript'
305
- inlineScript : |
306
- $accessToken = az account get-access-token --query accessToken --resource 499b84ac-1321-427f-aa17-267ca6975798 -o tsv
292
+ rustVersion : ms-stable
293
+ toolchainFeed : https://pkgs.dev.azure.com/mscodehub/Rust/_packaging/Rust/nuget/v3/index.json
294
+ additionalTargets : x86_64-unknown-linux-musl
295
+ displayName : Install Rust
296
+ env :
297
+ ob_restore_phase : true
298
+ - pwsh : |
299
+ apt -y install musl-tools
300
+ ./build.ps1 -Release -Architecture x86_64-unknown-linux-musl
301
+ ./build.ps1 -PackageType tgz -Architecture x86_64-unknown-linux-musl -Release
302
+ Copy-Item ./bin/*.tar.gz "$(ob_outputDirectory)"
303
+ displayName: 'Build x86_64-unknown-linux-musl'
304
+ condition: succeeded()
307
305
308
- # Set the access token as a secret, so it doesn't get leaked in the logs
309
- Write-Host "##vso[task.setsecret]$accessToken"
310
- $header = "Bearer $accessToken"
311
- Write-Host "##vso[task.setvariable variable=CARGO_REGISTRIES_POWERSHELL_TOKEN]$header"
312
- displayName : ' Get Azure DevOps Token'
306
+ - job : BuildLinuxArm64Musl
307
+ dependsOn : SetPackageVersion
308
+ variables :
309
+ PackageVersion : $[ dependencies.SetPackageVersion.outputs['Package.Version'] ]
310
+ ob_outputDirectory : ' $(Build.ArtifactStagingDirectory)'
311
+ displayName : Linux-ARM64-musl
312
+ pool :
313
+ type : linux
314
+ steps :
315
+ - task : RustInstaller@1
316
+ inputs :
317
+ rustVersion : ms-stable
318
+ toolchainFeed : https://pkgs.dev.azure.com/mscodehub/Rust/_packaging/Rust/nuget/v3/index.json
319
+ additionalTargets : aarch64-unknown-linux-musl
320
+ displayName : Install Rust
313
321
env :
314
322
ob_restore_phase : true
315
323
- pwsh : |
316
- ./build.ps1 -Release -Architecture aarch64-unknown-linux-gnu -UseCFS
317
- ./build.ps1 -PackageType tgz -Architecture aarch64-unknown-linux-gnu -Release
324
+ $env:CC_aarch64_unknown_linux_musl='clang'
325
+ $env:AR_aarch64_unknown_linux_musl='llvm-ar'
326
+ $env:CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-Clink-self-contained=yes -Clinker=rust-lld"
327
+ apt -y install clang
328
+ apt -y install llvm
329
+ apt -y install musl-tools
330
+ apt -y install gcc-multilib
331
+ rustup default stable-aarch64-unknown-linux-musl
332
+ ./build.ps1 -Release -Architecture aarch64-unknown-linux-musl
333
+ ./build.ps1 -PackageType tgz -Architecture aarch64-unknown-linux-musl -Release
318
334
Copy-Item ./bin/*.tar.gz "$(ob_outputDirectory)"
319
- displayName: 'Build aarch64-unknown-linux-gnu '
335
+ displayName: 'Build aarch64-unknown-linux-musl '
320
336
condition: succeeded()
321
337
322
338
- job : BuildMac
@@ -345,23 +361,8 @@ extends:
345
361
displayName : Install Rust
346
362
env :
347
363
ob_restore_phase : true
348
- - task : AzureCLI@2
349
- inputs :
350
- azureSubscription : az-PowerShell-feed-ingestion
351
- scriptType : ' pscore'
352
- scriptLocation : ' inlineScript'
353
- inlineScript : |
354
- $accessToken = az account get-access-token --query accessToken --resource 499b84ac-1321-427f-aa17-267ca6975798 -o tsv
355
-
356
- # Set the access token as a secret, so it doesn't get leaked in the logs
357
- Write-Host "##vso[task.setsecret]$accessToken"
358
- $header = "Bearer $accessToken"
359
- Write-Host "##vso[task.setvariable variable=CARGO_REGISTRIES_POWERSHELL_TOKEN]$header"
360
- displayName : ' Get Azure DevOps Token'
361
- env :
362
- ob_restore_phase : true
363
364
- pwsh : |
364
- ./build.ps1 -Release -Architecture $(buildName) -UseCFS
365
+ ./build.ps1 -Release -Architecture $(buildName)
365
366
./build.ps1 -PackageType tgz -Architecture $(buildName) -Release
366
367
Copy-Item ./bin/*.tar.gz "$(ob_outputDirectory)"
367
368
Write-Host "##vso[artifact.upload containerfolder=release;artifactname=release]$(ob_outputDirectory)/DSC-$(PackageVersion)-$(buildName).tar.gz"
@@ -372,6 +373,9 @@ extends:
372
373
dependsOn : BuildAndSign
373
374
variables :
374
375
PackageVersion : $[ dependencies.SetPackageVersion.outputs['Package.Version'] ]
376
+ ob_sdl_sbom_enabled : false
377
+ ob_signing_setup_enabled : false
378
+ ob_sdl_codeql_compiled_enabled : false
375
379
drop : $(Pipeline.Workspace)/drop_build_main
376
380
jobs :
377
381
- job : Validation
0 commit comments