diff --git a/.vsts-ci.yml b/.vsts-ci.yml index c1aecbd84..c6f583096 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -240,7 +240,7 @@ stages: _TestArg: '' Build_Linux_musl_Debug_x64: _BuildConfig: Debug - _DockerParameter: '--docker alpine.3.13' + _DockerParameter: '--docker alpine.3.15' _LinuxPortable: '' _RuntimeIdentifier: '--runtime-id linux-musl-x64' _BuildArchitecture: 'x64' @@ -285,7 +285,7 @@ stages: _TestArg: '' Build_Linux_musl_Release_x64: _BuildConfig: Release - _DockerParameter: '--docker alpine.3.13' + _DockerParameter: '--docker alpine.3.15' _LinuxPortable: '' _RuntimeIdentifier: '--runtime-id linux-musl-x64' _BuildArchitecture: 'x64' diff --git a/NuGet.config b/NuGet.config index c8e5ee130..9401b3f64 100644 --- a/NuGet.config +++ b/NuGet.config @@ -7,7 +7,6 @@ - @@ -15,12 +14,21 @@ + + + - + + + + + + + @@ -41,17 +49,25 @@ - + + + + - + + + + + + + - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 0c2c995c7..688060474 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -90,27 +90,27 @@ 9388790ba9ed8fef11584b2c74fe6789782a1592 - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 81b4aff895d7eaab61aa000a696f7bc79fc49b70 + c2eaaa1ff778461cf69f1386b1f2b37d674a0ab0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 81b4aff895d7eaab61aa000a696f7bc79fc49b70 + c2eaaa1ff778461cf69f1386b1f2b37d674a0ab0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-templating - 81b4aff895d7eaab61aa000a696f7bc79fc49b70 + c2eaaa1ff778461cf69f1386b1f2b37d674a0ab0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-sdk - 40c58ac25e9fcb1bbee56a592918fc464f64a6e7 + bb5ae4829da51d315033bedb73116477b0390cd3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-sdk - 40c58ac25e9fcb1bbee56a592918fc464f64a6e7 + bb5ae4829da51d315033bedb73116477b0390cd3 @@ -121,44 +121,44 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-wpf 2b6f0273734c631e1ecc8c503836d4fab840065b - + https://github.com/dotnet/fsharp - 702b8e77f5fbfe21e6743324c1750503e02f182d + 5d69143fbe992d8fa33d5b83d5fdd5f4ed7bb4fc - + https://github.com/dotnet/fsharp - 702b8e77f5fbfe21e6743324c1750503e02f182d + 5d69143fbe992d8fa33d5b83d5fdd5f4ed7bb4fc - + https://github.com/microsoft/vstest - 5948b392c5d8c2580d08c9f6570409315243f86e + 6e76d580fcc69954441344175bd1b0ab2e432026 - + https://github.com/dotnet/linker - 28db36b95cf83c8e2ad11e67a2ad0de301b4cad6 + 4be765525a1b45d28ab69a48f92e008b70a4e56e linker - + https://github.com/dotnet/roslyn - 432d17a83aa5623e4581756f4d642997048056bd + 41a5af9d2c459a06c0795bf21a1c046200f375bf - + https://dev.azure.com/devdiv/DevDiv/_git/DotNet-msbuild-Trusted - 038f9bae9b34d1cca653360a46c5ce1eba4c2ac8 + 561848881bab01749e6d8b03be2869a18ca944f7 - + https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted - 8fef55f5a55a3b4f2c96cd1a9b5ddc51d4b927f8 + 5e444458a8c4a2dac9806fc1d387b7f157669540 - + https://github.com/Microsoft/ApplicationInsights-dotnet - 93f745cfef8541f09862aae9bc8c04554bca38c7 + 53b80940842204f78708a538628288ff5d741a1d @@ -197,19 +197,19 @@ - + 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/source-build-reference-packages diff --git a/eng/Versions.props b/eng/Versions.props index e5ac3afbe..d6f2ec0e6 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -7,8 +7,8 @@ 6 0 - 3 - 19 + 4 + 16 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) servicing $(VersionMajor).$(VersionMinor) @@ -19,7 +19,7 @@ - 6.0.0-beta.23408.5 + 6.0.0-beta.23511.8 @@ -31,7 +31,7 @@ - 6.0.318 + 6.0.415 @@ -56,8 +56,8 @@ - 6.0.318-servicing.23480.39 - 6.0.318-servicing.23480.39 + 6.0.415-servicing.23480.38 + 6.0.415-servicing.23480.38 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) @@ -115,7 +115,7 @@ $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(NUnit3DotNetNewTemplatePackageVersion) $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - 6.0.318 + 6.0.415 $(MicrosoftAspNetCoreAppRuntimePackageVersion) $(MicrosoftWinFormsProjectTemplates50PackageVersion) @@ -152,7 +152,7 @@ 2.2.0-beta.19072.10 2.0.0 - 17.2.1-release-20230405-01 + 17.3.3-release-20230405-02 @@ -178,13 +178,13 @@ - 6.0.300-rc.1.5355 - 32.0.300-rc.1.4 - 15.4.100-rc.1.125 - 15.4.100-rc.1.125 - 12.3.100-rc.1.125 - 15.4.100-rc.1.125 - 6.0.4 + 6.0.312 + 32.0.301 + 15.4.303 + 15.4.303 + 12.3.303 + 15.4.303 + 6.0.5 6.0.4 $(MicrosoftNETWorkloadEmscriptenManifest60200Version) 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/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/eng/docker/alpine.3.13/Dockerfile b/eng/docker/alpine.3.15/Dockerfile similarity index 93% rename from eng/docker/alpine.3.13/Dockerfile rename to eng/docker/alpine.3.15/Dockerfile index 272f9596a..2d7e65698 100644 --- a/eng/docker/alpine.3.13/Dockerfile +++ b/eng/docker/alpine.3.15/Dockerfile @@ -4,7 +4,7 @@ # # Dockerfile that creates a container suitable to build dotnet-cli -FROM mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.13-20210714125444-ae5be29 +FROM mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-20220610131707-f0ea7ba RUN apk update && apk upgrade && apk add --no-cache curl ncurses diff --git a/global.json b/global.json index 327cfe027..eeff7fa00 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.23511.8", + "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.23511.8" } } diff --git a/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch b/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch index b82faadcd..3176d939b 100644 --- a/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch +++ b/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch @@ -32,7 +32,7 @@ index cdfa5f5e..86f02b44 100644 +++ b/eng/Version.Details.xml @@ -13,6 +13,10 @@ https://github.com/dotnet/command-line-api - 82273cb56c83b589e8e5b63da0ac9745ffc6e105 + c776cd4e906b669b9cce1017fee7d0ba9845d163 + + https://github.com/dotnet/runtime @@ -40,15 +40,15 @@ index cdfa5f5e..86f02b44 100644 + - + diff --git a/eng/Versions.props b/eng/Versions.props index 27582078..bccaf176 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -20,6 +20,8 @@ - 2.0.0-beta1.21473.1 - 0.3.0-alpha.21473.1 + 2.0.0-beta4.22504.1 + 0.4.0-alpha.22504.1 + + 6.0.8 diff --git a/src/SourceBuild/tarball/patches/fsharp/0002-Enable-work-tree-and-unsafe-paths-to-be-able-to-appl.patch b/src/SourceBuild/tarball/patches/fsharp/0002-Enable-work-tree-and-unsafe-paths-to-be-able-to-appl.patch deleted file mode 100644 index cff9bda21..000000000 --- a/src/SourceBuild/tarball/patches/fsharp/0002-Enable-work-tree-and-unsafe-paths-to-be-able-to-appl.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Chris Rummel -Date: Wed, 22 Jun 2022 05:53:06 -0500 -Subject: [PATCH] Enable work-tree and unsafe-paths to be able to apply in the - checked-in tarball. - ---- - eng/SourceBuild.props | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props -index 903ee00..4c85819 100644 ---- a/eng/SourceBuild.props -+++ b/eng/SourceBuild.props -@@ -15,7 +15,7 @@ - - - - diff --git a/src/SourceBuild/tarball/patches/nuget-client/0001-Pin-Microsoft.Build-and-Microsoft.Extensions.Command.patch b/src/SourceBuild/tarball/patches/nuget-client/0001-Pin-Microsoft.Build-and-Microsoft.Extensions.Command.patch deleted file mode 100644 index 1d284c47e..000000000 --- a/src/SourceBuild/tarball/patches/nuget-client/0001-Pin-Microsoft.Build-and-Microsoft.Extensions.Command.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MichaelSimons -Date: Wed, 11 May 2022 21:16:46 +0000 -Subject: [PATCH] Pin Microsoft.Build and - Microsoft.Extensions.CommandLineUtils.Sources versions in source-build - -Update package version reference to not pick up the source-build PVP versions and instead utilize SBRP versions -so that source-build builds closer to the normal repo build. ---- - build/packages.targets | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/build/packages.targets b/build/packages.targets -index 0ca4b1309..dc3db5b8e 100644 ---- a/build/packages.targets -+++ b/build/packages.targets -@@ -1,6 +1,6 @@ - - -- 16.8.0 -+ 16.8.0 - 13.0.1 - 3.0.0 - 4.5.0 -@@ -10,7 +10,7 @@ - 5.0.0 - 2.14.0-rtm-832 - 17.0.0-beta1-10402-05 -- 3.0.0-preview6.19253.5 -+ 3.0.0-preview6.19253.5 - - - diff --git a/src/finalizer/CMakeLists.txt b/src/finalizer/CMakeLists.txt index bdb26d893..fe1b531ea 100644 --- a/src/finalizer/CMakeLists.txt +++ b/src/finalizer/CMakeLists.txt @@ -31,7 +31,6 @@ target_link_libraries(Finalizer shell32.lib) target_link_libraries(Finalizer advapi32.lib) target_link_libraries(Finalizer version.lib) target_link_libraries(Finalizer msi.lib) -target_link_libraries(Finalizer pathcch.lib) # Add WiX libraries target_link_libraries(Finalizer wcautil.lib) diff --git a/src/finalizer/finalizer.cpp b/src/finalizer/finalizer.cpp index 0d1df6193..58bf9e1bd 100644 --- a/src/finalizer/finalizer.cpp +++ b/src/finalizer/finalizer.cpp @@ -38,6 +38,39 @@ LExit: return hr; } +extern "C" HRESULT StrTrimBackslash(LPWSTR* ppwz, LPCWSTR wzSource) +{ + HRESULT hr = S_OK; + LPWSTR sczResult = NULL; + + int i = lstrlenW(wzSource); + + if (0 < i) + { + for (i = i - 1; i > 0; --i) + { + if (L'\\' != wzSource[i]) + { + break; + } + } + + ++i; + } + + hr = StrAllocString(&sczResult, wzSource, i); + ExitOnFailure(hr, "Failed to copy result string"); + + // Output result + *ppwz = sczResult; + sczResult = NULL; + +LExit: + ReleaseStr(sczResult); + + return hr; +} + extern "C" HRESULT DeleteWorkloadRecords(LPWSTR sczSdkFeatureBandVersion, LPWSTR sczArchitecture) { HRESULT hr = S_OK; @@ -112,7 +145,7 @@ extern "C" HRESULT DeleteWorkloadRecords(LPWSTR sczSdkFeatureBandVersion, LPWSTR ExitOnFailure(hr, "Failed to get size of key name."); // Need to remove trailing backslash otherwise PathFile returns an empty string. - hr = PathCchRemoveBackslash(sczKeyName, cbKeyName); + hr = StrTrimBackslash(&sczKeyName, sczKeyName); ExitOnFailure(hr, "Failed to remove backslash."); hr = StrAllocString(&sczSubKey, PathFile(sczKeyName), 0); @@ -363,7 +396,17 @@ extern "C" HRESULT DetectSdk(LPWSTR sczSdkFeatureBandVersion, LPWSTR sczArchitec LogStringLine(REPORT_STANDARD, "Scanning %ls", sczInstalledSdkVersionsKeyName); hr = RegOpen(HKEY_LOCAL_MACHINE, sczInstalledSdkVersionsKeyName, KEY_READ, &hkInstalledSdkVersionsKey); - ExitOnFailure(hr, "Failed to read installed versions key."); + + // When the last SDK is removed the registry key should no longer exist so we can just exit + if (E_FILENOTFOUND == hr) + { + LogStringLine(REPORT_STANDARD, "Registry key not found: %ls.", sczInstalledSdkVersionsKeyName); + hr = S_OK; + *pbInstalled = FALSE; + goto LExit; + } + + ExitOnFailure(hr, "Failed to open registry key: %ls.", sczInstalledSdkVersionsKeyName); for (DWORD dwSdkVersionsValueIndex = 0;; ++dwSdkVersionsValueIndex) { @@ -427,9 +470,10 @@ int wmain(int argc, wchar_t* argv[]) hr = ::DetectSdk(sczFeatureBandVersion, argv[3], &bSdkFeatureBandInstalled); ExitOnFailure(hr, "Failed to detect installed SDKs."); - if (!bSdkFeatureBandInstalled) + // If the feature band is still present, do not remove workloads. + if (bSdkFeatureBandInstalled) { - LogStringLine(REPORT_STANDARD, "SDK with feature band %ls could not be found.", sczFeatureBandVersion); + LogStringLine(REPORT_STANDARD, "Detected SDK with feature band %ls.", sczFeatureBandVersion); goto LExit; } diff --git a/src/redist/targets/BundledManifests.targets b/src/redist/targets/BundledManifests.targets index 7b8536e48..63bfd724e 100644 --- a/src/redist/targets/BundledManifests.targets +++ b/src/redist/targets/BundledManifests.targets @@ -82,19 +82,19 @@ + DestinationPath="%(BundledManifests.FeatureBand)/$([MSBuild]::ValueOrDefault('%(Identity)', '').ToLower())/localize"/> + DestinationFolder="$(RedistLayoutPath)sdk-manifests/%(DestinationPath)"/> diff --git a/src/redist/targets/Crossgen.targets b/src/redist/targets/Crossgen.targets index a59ed388f..645c4681b 100644 --- a/src/redist/targets/Crossgen.targets +++ b/src/redist/targets/Crossgen.targets @@ -41,8 +41,10 @@ - + + + diff --git a/src/redist/targets/GenerateBundledVersions.targets b/src/redist/targets/GenerateBundledVersions.targets index eb57d27c1..db2c5feb2 100644 --- a/src/redist/targets/GenerateBundledVersions.targets +++ b/src/redist/targets/GenerateBundledVersions.targets @@ -305,6 +305,7 @@ Copyright (c) .NET Foundation. All rights reserved. AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="$(_NETCoreAppPackageVersion)" AppHostRuntimeIdentifiers="@(NetCoreAppHostRids, '%3B')" + ExcludedRuntimeIdentifiers="android" /> win-arm64 + + win-x86 + win-x64 + win-arm + + $(CoreSetupRootUrl)$(CoreSetupBlobVersion) @@ -180,6 +186,13 @@ packs/%(PackageName)/%(PackageVersion) + + Microsoft.NETCore.App.Host.$(x64AppHostRid) + $(MicrosoftNETCoreAppHostPackageVersion) + $(TargetFramework) + packs/%(PackageName)/%(PackageVersion) + + $(CoreSetupRootUrl)$(CoreSetupBlobVersion) @@ -459,7 +472,7 @@ diff --git a/src/redist/targets/packaging/deb/postinst b/src/redist/targets/packaging/deb/postinst index 142daff4e..ff22bcbc1 100644 --- a/src/redist/targets/packaging/deb/postinst +++ b/src/redist/targets/packaging/deb/postinst @@ -22,6 +22,5 @@ first_run() { /usr/share/dotnet/dotnet exec /usr/share/dotnet/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "debianpackage" > /dev/null 2>&1 || true } -INSTALL_TEMP_HOME=/tmp/dotnet-installer -[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME +INSTALL_TEMP_HOME=$(mktemp -d) # mktemp should set 700 perm automatically HOME=$INSTALL_TEMP_HOME first_run diff --git a/src/redist/targets/packaging/osx/clisdk/scripts/postinstall b/src/redist/targets/packaging/osx/clisdk/scripts/postinstall index 28339be99..86710223d 100644 --- a/src/redist/targets/packaging/osx/clisdk/scripts/postinstall +++ b/src/redist/targets/packaging/osx/clisdk/scripts/postinstall @@ -12,7 +12,7 @@ first_run() { $INSTALL_DESTINATION/dotnet exec $INSTALL_DESTINATION/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "$1" > /dev/null 2>&1 || true } -[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME +INSTALL_TEMP_HOME=$(mktemp -d) # mktemp should set 700 perm automatically HOME=$INSTALL_TEMP_HOME first_run exit 0 diff --git a/src/redist/targets/packaging/windows/clisdk/bundle.wxs b/src/redist/targets/packaging/windows/clisdk/bundle.wxs index c58c6a194..148487bde 100644 --- a/src/redist/targets/packaging/windows/clisdk/bundle.wxs +++ b/src/redist/targets/packaging/windows/clisdk/bundle.wxs @@ -151,7 +151,31 @@ - + + + + + @@ -208,20 +232,7 @@ - - +