-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Use Arcade's publishing logic to publish a given VMR vertical #47076
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
base: release/10.0.1xx-preview4
Are you sure you want to change the base?
Use Arcade's publishing logic to publish a given VMR vertical #47076
Conversation
… for a given vertical instead of having custom tasks
…ome root utility project. This build, however, only publishes the assets. Unlike the approach I take in dotnet#47076, this approach allows our final "vertical" publish to use a the live Arcade logic instead of the bootstrapping Arcade.
…ment that's causing problems
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.
A lot of great stuff in this PR, using standards and removing customization where possible. Love it!
I need to be honest with one part. I really dislike ripping apart VMR's Directory.Build.props file. Did you consider importing the file in Publishing.props and setting SkipArcadeSdkImport=true
?
VMR's D.B files are stock / vanilla, without much customization as they need to support projects that don't import the Arcade SDK.
I don't like the idea of including |
…tnet-sdk into vertical-manifest-arcade
Convince me that tearing apart D.B.props is better than importing it in Publish.proj. I really don't see how the former is better in terms of readability or UX. Publish.proj is a non Microsoft.NET.Sdk project so it never imports any D.B files. Manually importing it sounds like the right thing to me. |
Here's the problems that I see with importing DBP directly:
If you still feel strongly about it, I'm fine undoing it in a follow-up PR. Given that we want to get this in today, I'd rather wait until a follow-up than do it in this PR. |
Thanks for taking the time to respond. My feedback isn't blocking.
I feel strongly about finding a solution that doesn't require us to tear our repository infrastructure apart like in this PR. When the Arcade SDK and repo entry points like Build.proj were originally added to arcade, several people advised to not follow this model that creates an entire separate orchestration layer with a different set of imports, inputs and outputs. What we are discussing here is the fallout from the direction that was taken back then. I see two directions that we could take:
|
I'll focus on putting the pieces back together (and possibly solving item 2 as well) after the flat-flow switchover |
/azp run sdk-unified-build |
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
Retargeted to release/10.0.1xx-preview4. Official build at https://dev.azure.com/dnceng/internal/_build/results?buildId=2693317&view=results. Once the linked build is green, I can merge it in (and then it'll flow back to main in the standard SDK codeflow). |
In the latest build, |
I think I figured it out. The vertical manifests are expected to have the VerticalName attribute on them (that's how JoinVerticals knows the vertical an item is from). New official build here: https://dev.azure.com/dnceng/internal/_build/results?buildId=2693958&view=results |
The latest issue appears to be that there are assets that are duplicated between verticals. These are PDBs. Two/three possible ideas:
|
Instead of having our own custom targets and tasks to publish a given VMR vertical, use the tooling in the Arcade SDK to publish a vertical.
Contributes to dotnet/arcade#15317
Depends on a bootstrap Arcade SDK containing dotnet/arcade#15572