From a1a90036b3d67dca29a12264b7392e3486e6550d Mon Sep 17 00:00:00 2001 From: Andrii Patsula Date: Mon, 15 Apr 2024 17:42:32 +0200 Subject: [PATCH 1/4] Introduce a RepoOrigin attribute in the MergedManifest.xml fails. --- .../tools/Publish.proj | 3 +- .../BuildModelFactoryTests.cs | 56 ++++++++++--------- .../src/BlobArtifactModelFactory.cs | 9 +-- .../src/BuildModelFactory.cs | 6 +- .../src/GenerateBuildManifest.cs | 7 +++ .../src/PackageArtifactModelFactory.cs | 7 ++- .../src/PushToBuildStorage.cs | 17 ++++-- .../BuildManifest/Model/BlobArtifactModel.cs | 6 ++ .../Model/PackageArtifactModel.cs | 6 ++ 9 files changed, 76 insertions(+), 41 deletions(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj index bec1a49637a..c6bd9e9b25e 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj @@ -223,7 +223,7 @@ ItemsToPush="@(ItemsToPushToBlobFeed)" ItemsToSign="@(ItemsToSignPostBuild)" StrongNameSignInfo="@(StrongNameSignInfo)" - CertificatesSignInfo="@(CertificatesSignInfo)" + CertificatesSignInfo="@(CertificatesSignInfo)" FileSignInfo="@(FileSignInfo)" FileExtensionSignInfo="@(FileExtensionSignInfo)" ManifestBuildData="@(ManifestBuildData)" @@ -231,6 +231,7 @@ ManifestBranch="$(BUILD_SOURCEBRANCH)" ManifestBuildId="$(BUILD_BUILDNUMBER)" ManifestCommit="$(BUILD_SOURCEVERSION)" + ManifestRepoOrigin="$(RepositoryName)" IsStableBuild="$(IsStableBuild)" PublishingVersion="$(PublishingVersion)" AssetManifestPath="$(AssetManifestFilePath)" diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/BuildModelFactoryTests.cs b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/BuildModelFactoryTests.cs index 3467bf0f5fd..76f0d22f4f6 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/BuildModelFactoryTests.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/BuildModelFactoryTests.cs @@ -24,6 +24,7 @@ public class BuildModelFactoryTests private const string _testAzdoRepoUri = "https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-buildtest"; private const string _normalizedTestAzdoRepoUri = "https://dev.azure.com/dnceng/internal/_git/dotnet-buildtest"; + private const string _testRepoOrigin = "emsdk"; private const string _testBuildBranch = "foobranch"; private const string _testBuildCommit = "664996a16fa9228cfd7a55d767deb31f62a65f51"; private const string _testAzdoBuildId = "89999999"; @@ -71,9 +72,8 @@ public void AttemptToCreateModelWithNoArtifactsFails() { Action act = () => _buildModelFactory.CreateModelFromItems(null, null, - null, null, null, null, _testAzdoBuildId, null, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + null, null, null, null, _testAzdoBuildId, null, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); act.Should().Throw(); } @@ -126,9 +126,8 @@ public void ManifestArtifactParsingTest() }; var model = _buildModelFactory.CreateModelFromItems(artifacts, null, - null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); _taskLoggingHelper.HasLoggedErrors.Should().BeFalse(); // When Maestro sees a symbol package, it is supposed to re-do the symbol package path to @@ -141,6 +140,7 @@ public void ManifestArtifactParsingTest() blob.Attributes.Should().Contain("NonShipping", "true"); blob.Attributes.Should().Contain("Category", "SMORKELER"); blob.Attributes.Should().Contain("Id", bobSymbolsExpectedId); + blob.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }, blob => { @@ -149,6 +149,7 @@ public void ManifestArtifactParsingTest() blob.Attributes.Should().Contain("NonShipping", "false"); blob.Attributes.Should().Contain("Category", "SNORPKEG"); blob.Attributes.Should().Contain("Id", bopSnupkgExpectedId); + blob.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }, blob => { @@ -156,6 +157,7 @@ public void ManifestArtifactParsingTest() blob.NonShipping.Should().BeFalse(); blob.Attributes.Should().Contain("ARandomBitOfMAD", string.Empty); blob.Attributes.Should().Contain("Id", zipArtifact); + blob.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }); model.Artifacts.Packages.Should().SatisfyRespectively( @@ -167,6 +169,7 @@ public void ManifestArtifactParsingTest() package.Attributes.Should().Contain("ShouldWePushDaNorpKeg", "YES"); package.Attributes.Should().Contain("Id", "test-package-a"); package.Attributes.Should().Contain("Version", "1.0.0"); + package.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }); model.Identity.Attributes.Should().Contain("AzureDevOpsRepository", _normalizedTestAzdoRepoUri); @@ -189,9 +192,8 @@ public void ArtifactMetadataIsCaseInsensitive() }; var model = _buildModelFactory.CreateModelFromItems(artifacts, null, - null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); model.Artifacts.Blobs.Should().BeEmpty(); model.Artifacts.Packages.Should().SatisfyRespectively( @@ -205,6 +207,7 @@ public void ArtifactMetadataIsCaseInsensitive() package.Attributes.Should().Contain("Category", "CASE"); package.Attributes.Should().Contain("Id", "test-package-a"); package.Attributes.Should().Contain("Version", "1.0.0"); + package.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }); } @@ -228,9 +231,8 @@ public void BlobsWithoutARelativeBlobPathIsInvalid() }; _buildModelFactory.CreateModelFromItems(artifacts, null, - null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); _taskLoggingHelper.HasLoggedErrors.Should().BeTrue(); _buildEngine.BuildErrorEvents.Should().Contain(e => e.Message.Equals($"Missing 'RelativeBlobPath' property on blob {zipArtifact}")); @@ -253,9 +255,8 @@ public void MissingLocationInformationThrowsError() }; _buildModelFactory.CreateModelFromItems(artifacts, null, - null, null, null, null, _testAzdoBuildId, null, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + null, null, null, null, _testAzdoBuildId, null, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); // Should have logged an error that an initial location was not present. _taskLoggingHelper.HasLoggedErrors.Should().BeTrue(); @@ -287,9 +288,8 @@ public void InitialLocationInformationAttributesAreAccepted(string attributeName }; var model = _buildModelFactory.CreateModelFromItems(artifacts, null, - null, null, null, null, _testAzdoBuildId, manifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + null, null, null, null, _testAzdoBuildId, manifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); // Should have logged an error that an initial location was not present. _taskLoggingHelper.HasLoggedErrors.Should().BeFalse(); @@ -409,7 +409,7 @@ public void RoundTripFromTaskItemsToFileToXml() { var modelFromItems = _buildModelFactory.CreateModelFromItems(artifacts, itemsToSign, strongNameSignInfo, fileSignInfo, fileExtensionSignInfo, certificatesSignInfo, _testAzdoBuildId, - _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, true, + _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, _testRepoOrigin, true, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, false); @@ -448,6 +448,7 @@ public void RoundTripFromTaskItemsToFileToXml() blob.Attributes.Should().Contain("Id", bobSymbolsExpectedId); blob.Attributes.Should().Contain("Category", "SMORKELER"); blob.Attributes.Should().Contain("NonShipping", "true"); + blob.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }, blob => { @@ -456,6 +457,7 @@ public void RoundTripFromTaskItemsToFileToXml() blob.Attributes.Should().Contain("Id", bopSnupkgExpectedId); blob.Attributes.Should().Contain("Category", "SNORPKEG"); blob.Attributes.Should().Contain("NonShipping", "false"); + blob.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }, blob => { @@ -463,6 +465,7 @@ public void RoundTripFromTaskItemsToFileToXml() blob.NonShipping.Should().BeFalse(); blob.Attributes.Should().Contain("Id", zipArtifact); blob.Attributes.Should().Contain("ARandomBitOfMAD", string.Empty); + blob.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }); modelFromFile.Artifacts.Packages.Should().SatisfyRespectively( @@ -474,6 +477,7 @@ public void RoundTripFromTaskItemsToFileToXml() package.Attributes.Should().Contain("Id", "test-package-a"); package.Attributes.Should().Contain("Version", "1.0.0"); package.Attributes.Should().Contain("ShouldWePushDaNorpKeg", "YES"); + package.Attributes.Should().Contain("RepoOrigin", _testRepoOrigin); }); modelFromFile.SigningInformation.Should().NotBeNull(); @@ -562,8 +566,8 @@ public void NoSigningInformationDoesNotThrowAnError() }; var model = _buildModelFactory.CreateModelFromItems(artifacts, null, - null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, + null, null, null, null, _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); _taskLoggingHelper.HasLoggedErrors.Should().BeFalse(); @@ -638,9 +642,8 @@ public void SignInfoIsCorrectlyPopulatedFromItems() var model = _buildModelFactory.CreateModelFromItems(artifacts, itemsToSign, strongNameSignInfo, fileSignInfo, fileExtensionSignInfo, certificatesSignInfo, - _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); _taskLoggingHelper.HasLoggedErrors.Should().BeFalse(); model.SigningInformation.Should().NotBeNull(); @@ -713,9 +716,8 @@ public void ArtifactToSignMustExistInArtifacts() var model = _buildModelFactory.CreateModelFromItems(artifacts, itemsToSign, null, null, null, null, - _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, false, - VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, - true); + _testAzdoBuildId, _defaultManifestBuildData, _testAzdoRepoUri, _testBuildBranch, _testBuildCommit, + _testRepoOrigin, false, VersionTools.BuildManifest.Model.PublishingInfraVersion.Latest, true); _taskLoggingHelper.HasLoggedErrors.Should().BeTrue(); _buildEngine.BuildErrorEvents.Should().HaveCount(1); diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/BlobArtifactModelFactory.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/BlobArtifactModelFactory.cs index 7cc2792b5d3..6f0d3d954ed 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/BlobArtifactModelFactory.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/BlobArtifactModelFactory.cs @@ -9,7 +9,7 @@ namespace Microsoft.DotNet.Build.Tasks.Feed { public interface IBlobArtifactModelFactory { - BlobArtifactModel CreateBlobArtifactModel(ITaskItem item); + BlobArtifactModel CreateBlobArtifactModel(ITaskItem item, string repoOrigin); } public class BlobArtifactModelFactory : IBlobArtifactModelFactory @@ -22,7 +22,7 @@ public BlobArtifactModelFactory(TaskLoggingHelper logger) } /// - /// Creates a BlobArtifactModel based on the datat in the ITaskItem provided. Logs errors that may occur, + /// Creates a BlobArtifactModel based on the data in the ITaskItem provided. Logs errors that may occur, /// but does not prevent the creation of the BlobArtifactModel. Errors do not prevent the creation because /// we want to allow for the capture of all errors that may occur and report back all to the user so they can /// mitigate all the errors found instead of one at a time, which would require continual re-runs of this code @@ -31,7 +31,7 @@ public BlobArtifactModelFactory(TaskLoggingHelper logger) /// /// /// - public BlobArtifactModel CreateBlobArtifactModel(ITaskItem item) + public BlobArtifactModel CreateBlobArtifactModel(ITaskItem item, string repoOrigin) { string path = item.GetMetadata("RelativeBlobPath"); if (string.IsNullOrEmpty(path)) @@ -42,7 +42,8 @@ public BlobArtifactModel CreateBlobArtifactModel(ITaskItem item) return new BlobArtifactModel { Attributes = MSBuildListSplitter.GetNamedProperties(item.GetMetadata("ManifestArtifactData")), - Id = path + Id = path, + RepoOrigin = repoOrigin }; } } diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/BuildModelFactory.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/BuildModelFactory.cs index e72224383c5..30bc74a87f7 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/BuildModelFactory.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/BuildModelFactory.cs @@ -42,6 +42,7 @@ public interface IBuildModelFactory string repoUri, string repoBranch, string repoCommit, + string repoOrigin, bool isStableBuild, PublishingInfraVersion publishingVersion, bool isReleaseOnlyPackageVersion); @@ -137,6 +138,7 @@ public class BuildModelFactory : IBuildModelFactory string repoUri, string repoBranch, string repoCommit, + string repoOrigin, bool isStableBuild, PublishingInfraVersion publishingVersion, bool isReleaseOnlyPackageVersion) @@ -160,7 +162,7 @@ public class BuildModelFactory : IBuildModelFactory if (artifact.ItemSpec.EndsWith(".nupkg", StringComparison.OrdinalIgnoreCase) && !isSymbolsPackage) { - packageArtifacts.Add(_packageArtifactModelFactory.CreatePackageArtifactModel(artifact)); + packageArtifacts.Add(_packageArtifactModelFactory.CreatePackageArtifactModel(artifact, repoOrigin)); } else { @@ -170,7 +172,7 @@ public class BuildModelFactory : IBuildModelFactory artifact.SetMetadata("RelativeBlobPath", $"{AssetsVirtualDir}symbols/{fileName}"); } - blobArtifacts.Add(_blobArtifactModelFactory.CreateBlobArtifactModel(artifact)); + blobArtifacts.Add(_blobArtifactModelFactory.CreateBlobArtifactModel(artifact, repoOrigin)); } } diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/GenerateBuildManifest.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/GenerateBuildManifest.cs index dfde5dc1bf9..565717b542e 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/GenerateBuildManifest.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/GenerateBuildManifest.cs @@ -81,6 +81,12 @@ public class GenerateBuildManifest : MSBuildTaskBase /// public string RepoCommit { get; set; } + /// + /// Indicates the source of the artifacts. For a VMR build, the repository name is dotnet/dotnet, + /// while the repository origin name corresponds to the actual product repository. + /// + public string RepoOrigin { get; set; } + /// /// Is this manifest for a stable build? /// @@ -136,6 +142,7 @@ public override void ConfigureServices(IServiceCollection collection) RepoUri, RepoBranch, RepoCommit, + RepoOrigin, IsStableBuild, targetPublishingVersion, IsReleaseOnlyPackageVersion); diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PackageArtifactModelFactory.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PackageArtifactModelFactory.cs index 5dbd245b344..cd7d95546a9 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PackageArtifactModelFactory.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PackageArtifactModelFactory.cs @@ -10,7 +10,7 @@ namespace Microsoft.DotNet.Build.Tasks.Feed { public interface IPackageArtifactModelFactory { - PackageArtifactModel CreatePackageArtifactModel(ITaskItem item); + PackageArtifactModel CreatePackageArtifactModel(ITaskItem item, string repoOrigin); } public class PackageArtifactModelFactory : IPackageArtifactModelFactory @@ -25,7 +25,7 @@ public class PackageArtifactModelFactory : IPackageArtifactModelFactory _log = logger; } - public PackageArtifactModel CreatePackageArtifactModel(ITaskItem item) + public PackageArtifactModel CreatePackageArtifactModel(ITaskItem item, string repoOrigin) { _log.LogMessage($"Creating NupkgInfo based on '{item.ItemSpec}'"); @@ -35,7 +35,8 @@ public PackageArtifactModel CreatePackageArtifactModel(ITaskItem item) { Attributes = MSBuildListSplitter.GetNamedProperties(item.GetMetadata("ManifestArtifactData")), Id = info.Id, - Version = info.Version + Version = info.Version, + RepoOrigin = repoOrigin }; } } diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PushToBuildStorage.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PushToBuildStorage.cs index 05c853c7564..af0863d07bb 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PushToBuildStorage.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PushToBuildStorage.cs @@ -34,6 +34,12 @@ public class PushToBuildStorage : MSBuildTaskBase public string ManifestCommit { get; set; } + /// + /// Indicates the source of the artifacts. For a VMR build, the `ManifestRepoName` is dotnet/dotnet, + /// while the `ManifestRepoOrigin` corresponds to the actual product repository. + /// + public string ManifestRepoOrigin { get; set; } + public string[] ManifestBuildData { get; set; } public string AzureDevOpsCollectionUri { get; set; } @@ -140,7 +146,7 @@ public override void ConfigureServices(IServiceCollection collection) { // Act as if %(PublishFlatContainer) were true for all items. blobArtifacts = itemsToPushNoExcludes - .Select(i => blobArtifactModelFactory.CreateBlobArtifactModel(i)); + .Select(i => blobArtifactModelFactory.CreateBlobArtifactModel(i, ManifestRepoOrigin)); foreach (var blobItem in itemsToPushNoExcludes) { if (!fileSystem.FileExists(blobItem.ItemSpec)) @@ -205,8 +211,11 @@ public override void ConfigureServices(IServiceCollection collection) PushToLocalStorageOrAzDO(ItemType.BlobArtifact, blobItem); } - packageArtifacts = packageItems.Select(packageArtifactModelFactory.CreatePackageArtifactModel); - blobArtifacts = blobItems.Select(i => blobArtifactModelFactory.CreateBlobArtifactModel(i)).Where(blob => blob != null); + packageArtifacts = packageItems.Select( + i => packageArtifactModelFactory.CreatePackageArtifactModel(i, ManifestRepoOrigin)); + blobArtifacts = blobItems.Select( + i => blobArtifactModelFactory.CreateBlobArtifactModel(i, ManifestRepoOrigin)) + .Where(blob => blob != null); } PublishingInfraVersion targetPublishingVersion = PublishingInfraVersion.Latest; @@ -218,7 +227,7 @@ public override void ConfigureServices(IServiceCollection collection) Log.LogError($"Could not parse publishing infra version '{PublishingVersion}'"); } } - + SigningInformationModel signingInformationModel = signingInformationModelFactory.CreateSigningInformationModelFromItems( ItemsToSign, StrongNameSignInfo, FileSignInfo, FileExtensionSignInfo, CertificatesSignInfo, blobArtifacts, packageArtifacts); diff --git a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs index a87f99b950c..004687a19e9 100644 --- a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs +++ b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs @@ -37,6 +37,12 @@ public bool NonShipping } } + public string RepoOrigin + { + get { return Attributes.GetOrDefault(nameof(RepoOrigin)); } + set { Attributes[nameof(RepoOrigin)] = value; } + } + public override string ToString() => $"Blob {Id}"; public override bool Equals(object obj) diff --git a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs index 6112a099114..e7a344e1db1 100644 --- a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs +++ b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs @@ -55,6 +55,12 @@ public bool NonShipping } } + public string RepoOrigin + { + get { return Attributes.GetOrDefault(nameof(RepoOrigin)); } + set { Attributes[nameof(RepoOrigin)] = value; } + } + public override string ToString() => $"Package {Id} {Version}"; public override bool Equals(object obj) From 7504c7001030fb1c4156dbe572fe8d1c8238cffb Mon Sep 17 00:00:00 2001 From: Andrii Patsula Date: Thu, 18 Apr 2024 15:45:36 +0200 Subject: [PATCH 2/4] update SourceBuildArcadeBuild.targets --- src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj | 2 +- .../tools/SourceBuild/SourceBuildArcadeBuild.targets | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj index c6bd9e9b25e..90519c545d7 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj @@ -231,7 +231,7 @@ ManifestBranch="$(BUILD_SOURCEBRANCH)" ManifestBuildId="$(BUILD_BUILDNUMBER)" ManifestCommit="$(BUILD_SOURCEVERSION)" - ManifestRepoOrigin="$(RepositoryName)" + ManifestRepoOrigin="$(GitHubRepositoryName)" IsStableBuild="$(IsStableBuild)" PublishingVersion="$(PublishingVersion)" AssetManifestPath="$(AssetManifestFilePath)" diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets index 204ece5f7e2..4c3fa751076 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets @@ -83,6 +83,8 @@ $(InnerBuildArgs) /p:DotNetPublishUsingPipelines=true + + $(InnerBuildArgs) /p:GitHubRepositoryName=$(GitHubRepositoryName) From 5676a687a59d589842e954c7f780b5ced8d74623 Mon Sep 17 00:00:00 2001 From: Andrii Patsula Date: Thu, 18 Apr 2024 16:08:36 +0200 Subject: [PATCH 3/4] Update src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Přemek Vysoký --- .../BuildManifest/Model/BlobArtifactModel.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs index 004687a19e9..67ee68522bf 100644 --- a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs +++ b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/BlobArtifactModel.cs @@ -39,8 +39,8 @@ public bool NonShipping public string RepoOrigin { - get { return Attributes.GetOrDefault(nameof(RepoOrigin)); } - set { Attributes[nameof(RepoOrigin)] = value; } + get => Attributes.GetOrDefault(nameof(RepoOrigin)); + set => Attributes[nameof(RepoOrigin)] = value; } public override string ToString() => $"Blob {Id}"; From 95a099a4d834d9b297bfa94d8d7114e7fcfb82d8 Mon Sep 17 00:00:00 2001 From: Andrii Patsula Date: Thu, 18 Apr 2024 16:08:42 +0200 Subject: [PATCH 4/4] Update src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Přemek Vysoký --- .../BuildManifest/Model/PackageArtifactModel.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs index e7a344e1db1..d135f054f26 100644 --- a/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs +++ b/src/VersionTools/Microsoft.DotNet.VersionTools/BuildManifest/Model/PackageArtifactModel.cs @@ -57,8 +57,8 @@ public bool NonShipping public string RepoOrigin { - get { return Attributes.GetOrDefault(nameof(RepoOrigin)); } - set { Attributes[nameof(RepoOrigin)] = value; } + get => Attributes.GetOrDefault(nameof(RepoOrigin)); + set => Attributes[nameof(RepoOrigin)] = value; } public override string ToString() => $"Package {Id} {Version}";