diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d5513d3a8..80a664653 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -197,19 +197,19 @@ - + https://github.com/dotnet/arcade - 98fd22588fbb0f407faa6a74cb1aa79031306151 + 7c67805da0adbf4e72f2f4799b63efcf1cc8fe4c - + https://github.com/dotnet/arcade - 98fd22588fbb0f407faa6a74cb1aa79031306151 + 7c67805da0adbf4e72f2f4799b63efcf1cc8fe4c - + https://github.com/dotnet/arcade - 98fd22588fbb0f407faa6a74cb1aa79031306151 + 7c67805da0adbf4e72f2f4799b63efcf1cc8fe4c https://github.com/dotnet/source-build-reference-packages diff --git a/eng/Versions.props b/eng/Versions.props index c689826cd..75998f725 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -19,7 +19,7 @@ - 6.0.0-beta.23408.5 + 6.0.0-beta.23517.3 diff --git a/eng/common/retain-build.ps1 b/eng/common/retain-build.ps1 new file mode 100644 index 000000000..e7ba975ad --- /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/jobs/source-build.yml b/eng/common/templates/jobs/source-build.yml index 7c240e654..00aa98eb3 100644 --- a/eng/common/templates/jobs/source-build.yml +++ b/eng/common/templates/jobs/source-build.yml @@ -14,7 +14,7 @@ parameters: # This is the default platform provided by Arcade, intended for use by a managed-only repo. defaultManagedPlatform: name: 'Managed' - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343' # Defines the platforms on which to run build jobs. One job is created for each platform, and the # object in this array is sent to the job template as 'platform'. If no platforms are specified, diff --git a/eng/common/templates/steps/retain-build.yml b/eng/common/templates/steps/retain-build.yml new file mode 100644 index 000000000..83d97a26a --- /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 327cfe027..1410185dd 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "6.0.121", + "dotnet": "6.0.123", "runtimes": { "dotnet": [ "$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)" @@ -11,7 +11,7 @@ "cmake": "3.16.4" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23408.5", - "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.23408.5" + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23517.3", + "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.23517.3" } } diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml index 2c7900e09..f5569e26b 100644 --- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml +++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml @@ -123,19 +123,24 @@ jobs: set -x df -h - networkArgs= + customRunArgs= customBuildArgs= if [[ '$(_RunOnline)' == 'true' ]]; then customBuildArgs='--online' else - networkArgs='--network none' + customRunArgs='--network none' + fi + + # See https://github.com/dotnet/source-build/issues/3712 + if [[ '$(_OverrideDistroDisablingSha1)' == 'true' ]]; then + customRunArgs="$customRunArgs -e OPENSSL_ENABLE_SHA1_SIGNATURES=1" fi if [[ '$(_EnablePoison)' == 'true' ]]; then customBuildArgs="$customBuildArgs --poison" fi - docker run --rm -v $(tarballDir):/tarball -w /tarball ${networkArgs} $(_Container) ./build.sh --clean-while-building ${customBuildArgs} $(additionalBuildArgs) + docker run --rm -v $(tarballDir):/tarball -w /tarball ${customRunArgs} $(_Container) ./build.sh --clean-while-building ${customBuildArgs} $(additionalBuildArgs) displayName: Build Tarball - ${{ if ne(variables['System.TeamProject'], 'public') }}: diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml index cc3d6ce1e..86f14f677 100644 --- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml +++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml @@ -11,7 +11,7 @@ parameters: # ----------------------------------------------------------------------------------------------- alpine317Container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17 centOS7Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build - centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c + centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8 fedora38Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38 ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04 @@ -40,12 +40,14 @@ jobs: _BootstrapPrep: true _Container: ${{ parameters.alpine317Container }} _ExcludeOmniSharpTests: true + _OverrideDistroDisablingSha1: false _RunOnline: false CentOS7-Online: _BootstrapPrep: false _Container: ${{ parameters.centOS7Container }} _EnablePoison: false _ExcludeOmniSharpTests: true + _OverrideDistroDisablingSha1: false _RunOnline: true ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: CentOS7-Offline: @@ -53,24 +55,28 @@ jobs: _Container: ${{ parameters.centOS7Container }} _EnablePoison: false _ExcludeOmniSharpTests: true + _OverrideDistroDisablingSha1: false _RunOnline: false CentOSStream9-Offline: _BootstrapPrep: false _Container: ${{ parameters.centOSStream9Container }} _EnablePoison: false _ExcludeOmniSharpTests: false + _OverrideDistroDisablingSha1: true _RunOnline: false Fedora38-Offline: _BootstrapPrep: false _Container: ${{ parameters.fedora38Container }} _EnablePoison: true _ExcludeOmniSharpTests: false + _OverrideDistroDisablingSha1: false _RunOnline: false Ubuntu1804-Offline: _BootstrapPrep: false _Container: ${{ parameters.ubuntu1804Container }} _EnablePoison: false _ExcludeOmniSharpTests: false + _OverrideDistroDisablingSha1: false _RunOnline: false name: Build_Tarball_x64 pool: @@ -94,6 +100,7 @@ jobs: _Container: ${{ parameters.debian11Arm64Container }} _EnablePoison: false _ExcludeOmniSharpTests: false + _OverrideDistroDisablingSha1: false _RunOnline: false name: Build_Tarball_arm64 pool: ${{ parameters.poolInternalArm64 }} @@ -114,6 +121,7 @@ jobs: _Container: ${{ parameters.fedora38Container }} _EnablePoison: false _ExcludeOmniSharpTests: false + _OverrideDistroDisablingSha1: false _RunOnline: false name: Build_Tarball_x64_Using_Previous pool: