-
Notifications
You must be signed in to change notification settings - Fork 446
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
Put artifacts in well-known locations #18591
Conversation
7ad9ae6
to
63d9377
Compare
69692a9
to
fbea002
Compare
<Target Name="SetSourceBuiltSdkOverrides" | ||
Condition="'@(SourceBuiltSdkOverride)' != ''"> | ||
<ItemGroup> | ||
<!-- Set the environment variables for MSBuild to look for our additional SDK Resolvers and or our resolver to find our source-built SDKs. --> | ||
<EnvironmentVariables Include="MSBUILDADDITIONALSDKRESOLVERSFOLDER=$(VSMSBuildSdkResolversDir)" /> | ||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Identity)" /> | ||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Version)" /> | ||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Location)/" /> | ||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' == ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=$(SourceBuiltSdksDir)%(SourceBuiltSdkOverride.Identity)/" /> | ||
</ItemGroup> | ||
</Target> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This target just got moved up to the build stage.
<Target Name="Build" DependsOnTargets="BuildRepoReferences;RepoBuild" /> | ||
|
||
<Target Name="Package" | ||
AfterTargets="Build" | ||
DependsOnTargets=" | ||
CopyRepoArtifacts; | ||
CopyInnerBuildRestoredPackages; | ||
EnsurePackagesCreated; | ||
ExtractToolPackage; | ||
CleanupRepo" /> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These targets got combined and moved down.
fbea002
to
9eb4b9b
Compare
1. Shipping and non-shipping artifacts to Arcade default locations: -> artifacts/packages/<config>/Shipping -> artifacts/packages/<config>/NonShipping Add the local feed for the addition package directory to NuGet.config Remove the non-shipping packages list generation now that artifacts are grouped. 2. Genereated the intermediate PackageVersions* files in -> artifacts/obj/PackageVersions 3. Extract the repo symbol archives intermediates to -> artifacts/obj/Symbols/ 4. Sequence targets better and apply correct DependsOnTargets 5. Small clean-up Fixes dotnet/source-build#4104 Fixes dotnet/source-build#3696
9eb4b9b
to
c8400db
Compare
src/SourceBuild/content/repo-projects/source-build-reference-packages.proj
Outdated
Show resolved
Hide resolved
<SourceBuiltBlobFeedDir>$([MSBuild]::NormalizeDirectory('$(SharedIntermediateOutputPath)', 'blob-feed'))</SourceBuiltBlobFeedDir> | ||
<SourceBuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(SourceBuiltBlobFeedDir)', 'packages'))</SourceBuiltPackagesPath> | ||
<SourceBuiltAssetsDir>$([MSBuild]::NormalizeDirectory('$(SourceBuiltBlobFeedDir)', 'assets'))</SourceBuiltAssetsDir> | ||
<IntermediateSymbolsRootDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols'))</IntermediateSymbolsRootDir> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does the Microsoft build gather/publish symbols? Does it want the individual symbol packages? I ask wondering if the symbols should be places next to the packages they are for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does the Microsoft build gather/publish symbols? Does it want the individual symbol packages?
Correct. Symbol packages are placed next to the non symbol packages in MSFT builds. We want symbol packages here as well but they are currently filtered out: dotnet/source-build#4110
Because of the scope of these changes please run a full CI run. |
…nstaller into ArtifactsLocationRevamp
eng/pipelines/vmr-build.yml
Outdated
scope: full | ||
${{ else }}: | ||
scope: lite | ||
scope: full |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Temp change to queue a full build
The failures are due to dotnet/source-build#4111. I validated that the Private.* source-build artifacts are produced correctly and with the expected content. Also verified the other pipeline artifacts (packages & logs). Also did offline builds with these changes. |
Unfortunately the Alpine w/previous SDK leg is the one that has the poison test enabled. Would you mind temporarily enabling poison on the alpine leg with the MSFT Sdk to validate there are no regressions in the poison infra? |
Looks like there are numerous poison leaks. @NikolaMilosavljevic can you please review the changes to help RCA the Poison infra regressions. |
…tnet/installer into ArtifactsLocationRevamp
@MichaelSimons @NikolaMilosavljevic I fixed the leak detection issue and updated the branch with latest main. The remaining failure exists in main as well. This PR is now ready. PTAL. In comparison, here's a full build from main: https://dnceng.visualstudio.com/internal/_build/results?buildId=2377522&view=results |
@@ -111,21 +83,22 @@ | |||
Inputs="$(MSBuildProjectFullPath)" | |||
Outputs="$(BaseIntermediateOutputPath)ReportPoisonUsage.complete" > | |||
<ItemGroup> | |||
<FinalCliTarball Include="$(SharedOutputPath)**/*$(ArchiveExtension)" /> | |||
<!-- Exclude the Private.SourceBuilt.Artifacts archive from poison usage scan. --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to move this comment to be directly above the line that is doing the removal?
Merging ahead of PR validation since the last change was to revert the changes to run additional legs for validation purposes. |
Fixes dotnet/source-build#4104
Fixes dotnet/source-build#3696
Contributes to dotnet/source-build#4101
Contributes to dotnet/source-build#4158
-> artifacts/packages//Shipping
-> artifacts/packages//NonShipping
Put artifacts under ->
artifacts/assets/<config>
Add the local feed for the addition package directory to NuGet.config.
Remove the non-shipping packages list generation now that artifacts are grouped.
Generate the intermediate PackageVersions* files in -> artifacts/obj/PackageVersions
Extract the repo symbol archives intermediates to -> artifacts/obj/Symbols/
Improve artifacts logging and ensuring that artifacts are created
Sequence targets better and apply correct DependsOnTargets
Small clean-up
Allow the poison infrastructure to analyze SBRP packages based on item metadata instead of an expected directory structure in the archive. Make the poison infrastructure analyze nuget packages directly.