diff --git a/NuGet.config b/NuGet.config index 4038d6ff517d..e17eddc6709d 100644 --- a/NuGet.config +++ b/NuGet.config @@ -35,7 +35,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 8f6698c64a23..62d03f4171f8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -3,11 +3,11 @@ https://github.com/dotnet/templating - 71d6ad51ee3371153bc7f825bdf6cc26cef7619b + bb7417805da3d5db9401ab37362bd39575e1459f - + https://github.com/dotnet/templating - 71d6ad51ee3371153bc7f825bdf6cc26cef7619b + bb7417805da3d5db9401ab37362bd39575e1459f @@ -93,43 +93,43 @@ e165bbea9e27ceb4c8b91c22bd0c564ff1dc8b25 - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore @@ -139,74 +139,74 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore d5dc8a13cc618b9cbdc1e5744b4806c594d49553 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 - + https://github.com/nuget/nuget.client - 7f50923823cb8fe4dab9b6565ece9516407de498 + 0da03caba83448ee887f0f1846dd05e1f1705d45 https://github.com/microsoft/vstest @@ -378,9 +378,9 @@ https://github.com/dotnet/roslyn-analyzers 433fa3e4a54010fcac6e8843460e29d33ba07eb7 - + https://github.com/dotnet/roslyn - c2274abeea89c24a4e763da5ec002d9251a347c5 + cb32ed920951c00c108c20ed850a27e4ac83572f diff --git a/eng/Versions.props b/eng/Versions.props index d5ebc06d70bd..be43909f7620 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -139,18 +139,18 @@ - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 - 6.14.0-preview.1.102 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 + 6.14.0-rc.116 @@ -161,7 +161,7 @@ 9.0.0-preview.25202.1 - 3.12.0-beta1.25214.4 + 3.12.0-beta1.25217.4 @@ -195,7 +195,7 @@ $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) - 9.0.300-rtm.25215.5 + 9.0.300-rtm.25217.5 $(MicrosoftTemplateEngineMocksPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineMocksPackageVersion) @@ -206,14 +206,14 @@ - 4.14.0-3.25214.4 - 4.14.0-3.25214.4 - 4.14.0-3.25214.4 - 4.14.0-3.25214.4 - 4.14.0-3.25214.4 - 4.14.0-3.25214.4 - 4.14.0-3.25214.4 - 4.14.0-3.25214.4 + 4.14.0-3.25217.4 + 4.14.0-3.25217.4 + 4.14.0-3.25217.4 + 4.14.0-3.25217.4 + 4.14.0-3.25217.4 + 4.14.0-3.25217.4 + 4.14.0-3.25217.4 + 4.14.0-3.25217.4 diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config index 4585cfd6bba1..e5f543ea68c2 100644 --- a/eng/common/sdl/packages.config +++ b/eng/common/sdl/packages.config @@ -1,4 +1,4 @@ - + diff --git a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets index 132c82f0fd38..f11f57c3e989 100644 --- a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets +++ b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets @@ -15,6 +15,8 @@ <_ContainerIsTargetingNet8TFM Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '8.0'))">true <_ContainerIsSelfContained>false <_ContainerIsSelfContained Condition="'$(SelfContained)' == 'true' or '$(PublishSelfContained)' == 'true'">true + + true @@ -235,10 +237,6 @@ )" Code="CONTAINER005" Text="The $(_ContainersPackageIdentity) NuGet package is explicitly referenced but the current SDK can natively publish the project as a container. Consider removing the package reference to $(_ContainersPackageIdentity) because it is no longer needed." /> - - - true - e.Name.LocalName == "PropertyGroup")? - .Add(new XElement("EnableSdkContainerSupport", "true")); document .Descendants() .First(e => e.Name.LocalName == "TargetFramework") @@ -512,6 +508,8 @@ public async Task EndToEnd_MultiProjectSolution_with_multitargeted_library() [InlineData("webapi", true)] [InlineData("worker", false)] [InlineData("worker", true)] + [InlineData("console", true)] + [InlineData("console", false)] public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackageReference) { DirectoryInfo newProjectDir = new(Path.Combine(TestSettings.TestArtifactsDirectory, $"CreateNewImageTest_{projectType}_{addPackageReference}")); @@ -564,7 +562,6 @@ public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackage var project = XDocument.Load(projectPath); var ns = project.Root?.Name.Namespace ?? throw new InvalidOperationException("Project file is empty"); - project.Root?.Add(new XElement("PropertyGroup", new XElement("EnableSDKContainerSupport", "true"))); project.Save(projectPath); } @@ -575,7 +572,7 @@ public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackage CommandResult commandResult = new DotnetCommand( _testOutput, "publish", - "/p:PublishProfile=DefaultContainer", + "/t:PublishContainer", "/p:RuntimeIdentifier=linux-x64", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRegistry={DockerRegistryManager.LocalRegistry}", @@ -604,12 +601,14 @@ public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackage var containerName = $"test-container-1-{projectType}-{addPackageReference}"; CommandResult processResult = ContainerCli.RunCommand( _testOutput, - "--rm", - "--name", - containerName, - "-P", - "--detach", - $"{DockerRegistryManager.LocalRegistry}/{imageName}:{imageTag}") + [ + "--rm", + "--name", + containerName, + "-P", + ..projectType != "console" ? ["--detach"] : new string[]{}, + $"{DockerRegistryManager.LocalRegistry}/{imageName}:{imageTag}" + ]) .Execute(); processResult.Should().Pass(); Assert.NotNull(processResult.StdOut); @@ -617,8 +616,6 @@ public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackage bool everSucceeded = false; - - if (projectType == "webapi") { var portCommand = @@ -657,14 +654,13 @@ public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackage Assert.True(everSucceeded, $"{appUri}weatherforecast never responded."); ContainerCli.StopCommand(_testOutput, appContainerId) - .Execute() - .Should().Pass(); + .Execute() + .Should().Pass(); } else if (projectType == "worker") { // the worker template needs a second to start up and emit the logs we are looking for await Task.Delay(TimeSpan.FromSeconds(5)).ConfigureAwait(false); - var containerLogs = ContainerCli.LogsCommand(_testOutput, appContainerId) .Execute() .Should().Pass() @@ -673,10 +669,11 @@ public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackage ContainerCli.StopCommand(_testOutput, appContainerId) .Execute() .Should().Pass(); + } - else + else if (projectType == "console") { - throw new NotImplementedException("Unknown project type"); + processResult.Should().Pass().And.HaveStdOutContaining("Hello, World!"); } newProjectDir.Delete(true); @@ -741,8 +738,7 @@ public void EndToEnd_NoAPI_Console(string baseImage) $"/p:ContainerBaseImage={baseImage}", $"/p:ContainerRegistry={DockerRegistryManager.LocalRegistry}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={imageTag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={imageTag}") .WithEnvironmentVariable("NUGET_PACKAGES", privateNuGetAssets.FullName) .WithWorkingDirectory(newProjectDir.FullName) .Execute() @@ -782,8 +778,7 @@ public void EndToEnd_SingleArch_NoRid() "/t:PublishContainer", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={imageTag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={imageTag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute(); commandResult.Should().Pass(); @@ -818,8 +813,7 @@ public void EndToEndMultiArch_LocalRegistry(string imageName) "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={tag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={tag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute(); @@ -882,7 +876,6 @@ public void MultiArchStillAllowsSingleRID() $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", $"/p:ContainerImageTag={imageTag}", - "/p:EnableSdkContainerSupport=true", "/bl") .WithWorkingDirectory(newProjectDir.FullName) .Execute(); @@ -932,7 +925,6 @@ public void MultiArchStillAllowsSingleRIDUsingJustRIDProperties() $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", $"/p:ContainerImageTag={imageTag}", - "/p:EnableSdkContainerSupport=true", "/bl") .WithWorkingDirectory(newProjectDir.FullName) .Execute(); @@ -1005,8 +997,7 @@ public void EndToEndMultiArch_ArchivePublishing(string imageName) $"/p:ContainerArchiveOutputPath={archiveOutput}", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={tag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={tag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute(); @@ -1076,8 +1067,7 @@ public void EndToEndMultiArch_RemoteRegistry() $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRegistry={registry}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={imageTag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={imageTag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute(); @@ -1150,8 +1140,7 @@ public void EndToEndMultiArch_ContainerRuntimeIdentifiersOverridesRuntimeIdentif "/p:ContainerRuntimeIdentifiers=linux-arm64", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={imageTag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={imageTag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute(); @@ -1201,8 +1190,7 @@ public void EndToEndMultiArch_EnvVariables() "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={tag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={tag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute() .Should().Pass(); @@ -1266,8 +1254,7 @@ public void EndToEndMultiArch_Ports() "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={tag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={tag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute() .Should().Pass(); @@ -1353,8 +1340,7 @@ public void EndToEndMultiArch_Labels() "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", $"/p:ContainerRepository={imageName}", - $"/p:ContainerImageTag={tag}", - "/p:EnableSdkContainerSupport=true") + $"/p:ContainerImageTag={tag}") .WithWorkingDirectory(newProjectDir.FullName) .Execute() .Should().Pass();