Define a concept of Artifact Visibility#15344
Merged
Merged
Conversation
…ically (and respect Build visibility)
…vertical builds. Don't publish artifacts with non-External visibility
mmitche
reviewed
Dec 18, 2024
ViktorHofer
reviewed
Dec 18, 2024
ViktorHofer
reviewed
Dec 18, 2024
ViktorHofer
previously approved these changes
Dec 18, 2024
ViktorHofer
left a comment
Member
There was a problem hiding this comment.
LGTM aside from one comment about the code in the PublishArtifactsInManifestBase type.
mmitche
reviewed
Dec 18, 2024
mmitche
reviewed
Dec 18, 2024
Member
|
Can you add documentation for this in https://github.com/dotnet/arcade/blob/992d2e5d76cccb72ad611ba2141e25db86cd59bd/Documentation/ArcadeSdk.md? |
…fest from being inserted in the first place. Remove changes to the publishing pipeline as it won't ever see a non External visibility any more. Obsoletes dotnet/arcade-services#4254
Member
Author
|
I've updated this PR to exclude the assets before they even get into the manifest, but after uploading. That should remove the need to account for it in various places. |
Member
Author
|
Added docs. This is ready for another round of review. |
ViktorHofer
reviewed
Dec 23, 2024
ViktorHofer
approved these changes
Dec 24, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Asset Visibility
As part of building the VMR, we've found that we need to produce assets in multiple jobs that we used to produce in only one job. We have talked about doing asset selection through a list of jobs or asset name patterns. This works when we're only producing the assets that we want to publish.
However, we've discovered that in the VMR, we also need to build some additional packages that we never want to ship that we are effectively forced to name like a shipping package (in particular, we need to build a crossgen2 and ilc for the build host machine). These host-machine packages aren't assets we want to ship as they are built using LKG assets and assets that aren't targeting our "portable" build setup.
To handle these cases, we'd have to be very careful with a priority list of verticals as it would need to consider the machines we build on (so macOS x64 and macOS arm64 ordering would have to be ordered such that the primary vertical matches our build machine).
We looked at different artifact types and determined we have 3 visibilities, separate from Shipping/NonShipping:
To double check:
Validation that the jobs are dropped before going to BAR and the dropped artifacts are not uploaded to feeds by darc:
WindowsDesktop job that published to BAR with all rid-agnostic assets and exe installers marked as "Internal": https://dev.azure.com/dnceng/internal/_build/results?buildId=2604238&view=results
BAR record for that job showing that no rid-agnostic packages nor exe installers are present: https://maestro.dot.net/channel/529/azdo:dnceng:internal:dotnet-windowsdesktop/build/250107
Build Promotion job that shows that the internal assets were excluded from upload (the job failure later is due to an unrelated ongoing FR issue): https://dev.azure.com/dnceng/internal/_build/results?buildId=2604256&view=logs&j=ba23343f-f710-5af9-782d-5bd26b102304&t=74531eb2-9b39-5603-839e-94e3ba212b65&l=278