Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish artifacts and symbols one file at a time #7086

Merged
merged 39 commits into from
Apr 12, 2021
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
2ca72c8
Improve publishing performance
epananth Mar 10, 2021
8197834
remove unwanted param
epananth Mar 10, 2021
9d3a66e
some fixes
epananth Mar 10, 2021
271e5c2
more update
epananth Mar 11, 2021
23fd68d
minor fixes
epananth Mar 11, 2021
086bc12
Merge branch 'main' of https://github.com/dotnet/arcade into publishi…
epananth Mar 11, 2021
583c310
Merge branch 'main' of https://github.com/dotnet/arcade into publishi…
epananth Mar 11, 2021
b82c1c0
Disabled package download
epananth Mar 11, 2021
ff093e1
fix
epananth Mar 11, 2021
91f474a
Remove some logging
epananth Mar 12, 2021
68e8ea8
More fix
epananth Mar 16, 2021
7c1325a
Merge branch 'main' of https://github.com/dotnet/arcade into publishi…
epananth Mar 16, 2021
30e72f6
Merge branch 'main' of https://github.com/dotnet/arcade into publishi…
epananth Mar 18, 2021
037401b
test sdk
epananth Mar 19, 2021
6d73f0b
test
epananth Mar 18, 2021
ff239e8
review comments
epananth Mar 22, 2021
42edf24
merge conflict
epananth Mar 22, 2021
696ae33
test
epananth Mar 22, 2021
3cc26df
review comments:
epananth Mar 23, 2021
d2d4146
merge conflict
epananth Mar 23, 2021
cf46b2d
minor fix
epananth Mar 23, 2021
8b0a82b
minor fix
epananth Mar 23, 2021
16826fb
review:
epananth Mar 24, 2021
2a3eda7
review comments
epananth Mar 25, 2021
0cada85
Review comments
epananth Mar 30, 2021
99cbcaf
Merge branch 'main' of https://github.com/dotnet/arcade into publishi…
epananth Mar 30, 2021
5db58cc
more comments addressed
epananth Mar 31, 2021
53f99f8
Update comment
epananth Mar 31, 2021
32cc9b0
minor fix
epananth Mar 31, 2021
05ba152
moooore comments
epananth Apr 1, 2021
90bafde
minor changes
epananth Apr 1, 2021
41244b9
fix:
epananth Apr 1, 2021
d9f0469
remove error condition
epananth Apr 1, 2021
1da7ed1
last few comments
epananth Apr 2, 2021
21fc09f
Removed unwanted comment
epananth Apr 2, 2021
86215a9
review comment
epananth Apr 5, 2021
8de357d
last change
epananth Apr 6, 2021
8a5d431
IO exception fix
epananth Apr 8, 2021
07f63c4
test fix
epananth Apr 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion eng/publishing/v3/publish-assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,15 @@ jobs:
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
- name: AzDOBuildId
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
- name: AzDOAccount
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildAccount'] ]
pool:
vmImage: 'windows-2019'
steps:
- task: DownloadBuildArtifacts@0
displayName: Download Build Assets
continueOnError: true
enabled: false
inputs:
buildType: specific
buildVersionToDownload: specific
Expand All @@ -43,6 +46,22 @@ jobs:
downloadPath: '$(Build.ArtifactStagingDirectory)'
checkDownloadedFiles: true

- task: DownloadBuildArtifacts@0
displayName: Download Build Assets
continueOnError: true
enabled: true
inputs:
buildType: specific
buildVersionToDownload: specific
project: $(AzDOProjectName)
pipeline: $(AzDOPipelineId)
buildId: $(AzDOBuildId)
downloadType: 'specific'
itemPattern: |
AssetManifests/**
PdbArtifacts/**
downloadPath: '$(Build.ArtifactStagingDirectory)'

- task: NuGetToolInstaller@1
displayName: 'Install NuGet.exe'

Expand Down Expand Up @@ -87,7 +106,12 @@ jobs:
/p:MsdlToken=$(microsoft-symbol-server-pat)
/p:SymWebToken=$(symweb-symbol-server-pat)
/p:BuildQuality='${{ parameters.buildQuality }}'

/p:AzdoApiToken='$(dn-bot-dotnet-build-rw-code-rw)'
/p:StagingDir='$(Build.ArtifactStagingDirectory)/'
/p:BuildId='$(AzDOBuildId)'
/p:AzureDevOpsOrg='dnceng'
/p:AzureProject='$(AzDOProjectName)'
/p:UseApiOverride='true'
- template: /eng/common/templates/steps/publish-logs.yml
parameters:
StageLabel: '${{ parameters.stageName }}'
Expand Down
2 changes: 2 additions & 0 deletions eng/publishing/v3/setup-maestro-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ jobs:
$AzureDevOpsProject = $buildInfo.azureDevOpsProject
$AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
$AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
$AzureDevOpsAccount = $buildInfo.azureDevOpsAccount

Write-Host "##vso[task.setvariable variable=BARBuildId;isOutput=true]$BarId"
Write-Host "##vso[task.setvariable variable=TargetChannels;isOutput=true]$Channels"
Expand All @@ -46,6 +47,7 @@ jobs:
Write-Host "##vso[task.setvariable variable=AzDOProjectName;isOutput=true]$AzureDevOpsProject"
Write-Host "##vso[task.setvariable variable=AzDOPipelineId;isOutput=true]$AzureDevOpsBuildDefinitionId"
Write-Host "##vso[task.setvariable variable=AzDOBuildId;isOutput=true]$AzureDevOpsBuildId"
Write-Host "##vso[task.setvariable variable=AzDOBuildAccount;isOutput=true]$AzureDevOpsAccount"
}
catch {
Write-Host $_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,14 @@
ChecksumsFeedOverride="$(ChecksumsFeedOverride)"
TransportFeedOverride="$(TransportFeedOverride)"
ShippingFeedOverride="$(ShippingFeedOverride)"
SymbolsFeedOverride="$(SymbolsFeedOverride)" />
SymbolsFeedOverride="$(SymbolsFeedOverride)"
AzdoApiToken="$(AzdoApiToken)"
StagingDir="$(StagingDir)"
BuildId="$(BuildId)"
AzureDevOpsOrg="$(AzureDevOpsOrg)"
AzureProject="$(AzureProject)"
UseApiOverride="$(UseApiOverride)"/>

</Target>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public void TemporarySymbolDirectoryDoesNotExists()
BuildEngine = buildEngine,
};
var path = TestInputs.GetFullPath("Symbol");
var publish = task.HandleSymbolPublishingAsync(path, MsdlToken, SymWebToken, "", path, false);
var publish = task.HandleSymbolPublishingAsync(path, MsdlToken, SymWebToken, "", false, path);
Assert.True(task.Log.HasLoggedErrors);
}

Expand All @@ -94,9 +94,9 @@ public void TemporarySymbolsDirectoryTest()
{
var publishTask = new PublishArtifactsInManifestV3();
var path = TestInputs.GetFullPath("Test");
publishTask.EnsureTemporarySymbolDirectoryExists(path);
publishTask.EnsureTemporaryDirectoryExists(path);
Assert.True(Directory.Exists(path));
publishTask.DeleteSymbolTemporaryDirectory(path);
publishTask.DeleteTemporaryDirectory(path);
Assert.False(Directory.Exists(path));
}

Expand Down
35 changes: 35 additions & 0 deletions src/Microsoft.DotNet.Build.Tasks.Feed/src/BuildArtifacts.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using System.Collections.Generic;
using Newtonsoft.Json;

namespace Microsoft.DotNet.Build.Tasks.Feed
{
public class Properties
{
public string artifactsize { get; set; }
public string RootId { get; set; }
public string localpath { get; set; }
}

public class Resource
{
public string type { get; set; }
public string data { get; set; }
public Properties properties { get; set; }
public string url { get; set; }
public string downloadUrl { get; set; }
}

public class Value
{
public int id { get; set; }
public string name { get; set; }
public string source { get; set; }
public Resource resource { get; set; }
}

public class BuildArtifacts
{
public int count { get; set; }
public IList<Value> value { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,17 @@ public string BuildQuality
get { return _buildQuality.GetDescription(); }
set { Enum.TryParse<PublishingConstants.BuildQuality>(value, true, out _buildQuality); }
}
public string AzdoApiToken {get; set;}

public string StagingDir { get; set;}

public string BuildId { get; set; }

public string AzureProject { get; set; }

public string AzureDevOpsOrg { get; set; }

public bool UseApiOverride {get; set;}

/// <summary>
/// Just an internal flag to keep track whether we published assets via a V3 manifest or not.
Expand Down Expand Up @@ -372,7 +383,13 @@ internal PublishArtifactsInManifestBase ConstructPublishingV3Task(BuildModel bui
ChecksumsFeedOverride = this.ChecksumsFeedOverride,
ShippingFeedOverride = this.ShippingFeedOverride,
TransportFeedOverride = this.TransportFeedOverride,
SymbolsFeedOverride = this.SymbolsFeedOverride
SymbolsFeedOverride = this.SymbolsFeedOverride,
StagingDir = this.StagingDir,
AzdoApiToken = this.AzdoApiToken,
BuildId = this.BuildId,
AzureProject = this.AzureProject,
AzureDevOpsOrg = this.AzureDevOpsOrg,
UseApiOverride = this.UseApiOverride
};
}
}
Expand Down
Loading