diff --git a/NuGet.config b/NuGet.config
index d6b9869a728..11ebc4ef61d 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -6,6 +6,9 @@
+
+
+
@@ -19,6 +22,9 @@
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 121a7cd9988..9c9738b9f15 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -83,25 +83,25 @@
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
diff --git a/eng/Versions.props b/eng/Versions.props
index b3d986f0514..a377451b2dd 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -56,9 +56,9 @@
- 6.0.0-beta.23408.5
- 6.0.0-beta.23408.5
- 6.0.0-beta.23408.5
+ 6.0.0-beta.23511.8
+ 6.0.0-beta.23511.8
+ 6.0.0-beta.23511.8
diff --git a/eng/common/retain-build.ps1 b/eng/common/retain-build.ps1
new file mode 100644
index 00000000000..e7ba975adeb
--- /dev/null
+++ b/eng/common/retain-build.ps1
@@ -0,0 +1,45 @@
+
+Param(
+[Parameter(Mandatory=$true)][int] $buildId,
+[Parameter(Mandatory=$true)][string] $azdoOrgUri,
+[Parameter(Mandatory=$true)][string] $azdoProject,
+[Parameter(Mandatory=$true)][string] $token
+)
+
+$ErrorActionPreference = 'Stop'
+Set-StrictMode -Version 2.0
+
+function Get-AzDOHeaders(
+ [string] $token)
+{
+ $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":${token}"))
+ $headers = @{"Authorization"="Basic $base64AuthInfo"}
+ return $headers
+}
+
+function Update-BuildRetention(
+ [string] $azdoOrgUri,
+ [string] $azdoProject,
+ [int] $buildId,
+ [string] $token)
+{
+ $headers = Get-AzDOHeaders -token $token
+ $requestBody = "{
+ `"keepForever`": `"true`"
+ }"
+
+ $requestUri = "${azdoOrgUri}/${azdoProject}/_apis/build/builds/${buildId}?api-version=6.0"
+ write-Host "Attempting to retain build using the following URI: ${requestUri} ..."
+
+ try {
+ Invoke-RestMethod -Uri $requestUri -Method Patch -Body $requestBody -Header $headers -contentType "application/json"
+ Write-Host "Updated retention settings for build ${buildId}."
+ }
+ catch {
+ Write-Error "Failed to update retention settings for build: $_.Exception.Response.StatusDescription"
+ exit 1
+ }
+}
+
+Update-BuildRetention -azdoOrgUri $azdoOrgUri -azdoProject $azdoProject -buildId $buildId -token $token
+exit 0
diff --git a/eng/common/templates/steps/retain-build.yml b/eng/common/templates/steps/retain-build.yml
new file mode 100644
index 00000000000..83d97a26a01
--- /dev/null
+++ b/eng/common/templates/steps/retain-build.yml
@@ -0,0 +1,28 @@
+parameters:
+ # Optional azure devops PAT with build execute permissions for the build's organization,
+ # only needed if the build that should be retained ran on a different organization than
+ # the pipeline where this template is executing from
+ Token: ''
+ # Optional BuildId to retain, defaults to the current running build
+ BuildId: ''
+ # Azure devops Organization URI for the build in the https://dev.azure.com/ format.
+ # Defaults to the organization the current pipeline is running on
+ AzdoOrgUri: '$(System.CollectionUri)'
+ # Azure devops project for the build. Defaults to the project the current pipeline is running on
+ AzdoProject: '$(System.TeamProject)'
+
+steps:
+ - task: powershell@2
+ inputs:
+ targetType: 'filePath'
+ filePath: eng/common/retain-build.ps1
+ pwsh: true
+ arguments: >
+ -AzdoOrgUri: ${{parameters.AzdoOrgUri}}
+ -AzdoProject ${{parameters.AzdoProject}}
+ -Token ${{coalesce(parameters.Token, '$env:SYSTEM_ACCESSTOKEN') }}
+ -BuildId ${{coalesce(parameters.BuildId, '$env:BUILD_ID')}}
+ displayName: Enable permanent build retention
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+ BUILD_ID: $(Build.BuildId)
\ No newline at end of file
diff --git a/global.json b/global.json
index 9cb5828c280..45152322488 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"tools": {
- "dotnet": "6.0.121",
+ "dotnet": "6.0.123",
"runtimes": {
"dotnet": [
"2.1.7",
@@ -12,11 +12,11 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23408.5",
- "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.23408.5"
+ "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23511.8",
+ "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.23511.8"
},
"sdk": {
- "version": "6.0.121"
+ "version": "6.0.123"
},
"native-tools": {
"strawberry-perl": "5.28.1.1-1",