-
Notifications
You must be signed in to change notification settings - Fork 137
Description
Right now we have two sources of truth for publishing information. We have the standard arcade publishing routines that involve Publishing.props, shipping/non-shipping info, relative paths for blobs, etc. Then we have the source-build method, which involves a couple targets (GetCategorizedIntermediateNupkgContents). This method isn't the source of truth for the product at the moment, and also doesn't preserve a lot of interesting information like relative blob path layouts, what assets are produced by a repo leg (it assumes zips files and nupkgs). We could add that kind of info in there, but we would just end up duplicating existing info. It also doesn't generate manifests that are usable by downstream infra like the staging pipelines.
This needs to get resolved. Ideally, we would use the same infra for both VMR and individual repo builds. We would go through the same standard arcade paths for publishing, generating the same manifest data, between VMR and individual repo builds.
So basically, when arcade repos build, they runs the normal Publish.proj, creating a manifest using PushToAzureDevOpsArtifacts with the outputs that arcade says it produced. Same for runtime, aspnetcore, etc. this would include the manifest. When we get to the end of the VMR build, we now have 1 manifest for each repo built in each vertical. These get merged together just like any other build.
The important bits here are:
- The VMR needs to be able to build what MSFT builds today, and so it should probably lean on the existing sources of truth to do that.
- The VMR needs to produce outputs that are deployable through the same mechanisms we use to deploy assets today (repo publishing and .NET staging+release).
- The publishing process must remain source-only compatible.
Work Items
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status