-
Notifications
You must be signed in to change notification settings - Fork 347
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
Adding extra commands element into HelixWorkItem #11157
Comments
Can you please elaborate on this? Can you maybe describe an actual scenario that you need this for? |
Sure. Here's an example. For scenarios we always build and publish the app before running the scenario test. Some scenarios have same binary, only different things are measured, thus doing always build and publish makes it slower (and also wastes resources). The goal is to improve the process by doing build and publish in advance and including it into the payload. Eventually we'd like to use the same approach for places where doing the build as part of work item is challenging because multiple things need to properly align - like for example MAUI. Does that make sense? It's not a deal breaker if it's not a good fit here. I can implement it only in proj files in dotnet/performance, but makes more sense to me to have it upstream. |
I am still not sure I follow what do you need to happen when that you cannot already do with the current setup. It seems like you want some things to happen before you define the |
Correct.
We want to keep everything in one place, in |
But why not handle that by MSBuild targets that would depend on each other? It can still very much happen in that one proj file. In my opinion, you have to give Helix SDK some folder that has to be in some shape before it sends it to Helix. I don't understand why you would prepare just half of the things first, then invoke Helix SDK and then want to finish the preparation later inside Helix SDK? Why not prepare it before and be done? Seems like you still have a "prepare" part somewhere so why not make it complete? |
Solved offline. Not good fit for here. |
As part of dotnet/performance#2416 I need to extend
HelixWorkItem
with extra commands element. These commands will be run locally as the payload (CorrelationPayloadDirectory
) is being prepared. ObviouslyPreCommands
is no good, that's executed as part of the executed test/benchmark scenario. I have a raw PoW prepared, but before I create PR I'd like to discuss some details to properly fit into existing code.The new
HelixWorkItem
would looks like this (I'm using JiriCommand for now, before we finish good naming):Now couple of questions:
PrepareCommand
seems to a good one to me.PreCommands
and hence support splitting? Or single command like i.e.Command
? Single command/singular seems enough to me.HelixPreCommands
)? If so, very likely to keep it consistent the answer to question 2 is "plural".Microsoft.DotNet.Helix.Sdk.targets
a good place to add target? I think i.e.Microsoft.DotNet.Helix.Sdk.MonoQueue.targets
is too "late" in the processing (although it would work as well).eng\common\build.ps1
andBuild.proj
with a switch to execute above mentioned target? Or leave it for manual explicit execution only.@sblom @DrewScoggins
The text was updated successfully, but these errors were encountered: