-
Notifications
You must be signed in to change notification settings - Fork 361
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
Arcade does not support /p:OptionalToolSource options #1176
Comments
FYI @weshaggard |
Arcade support is tracked in #100. It sounds like this issue does more generally track getting the flow working in CoreFX though... I would have thought that the BuildTools code that AFAIK is still in CoreFX would be used to keep support for this. |
It looks like the BuildTools optional tooling stuff hooked onto the Sync target (https://github.com/dotnet/buildtools/blob/0fa455c550abb4f49f4830a7f2fa78609f373fd0/src/Microsoft.DotNet.Build.Tasks/PackageFiles/OptionalTooling.targets#L12) I deleted that target from corefx recently (dotnet/corefx@66392f5#diff-3ad318a39efd856540e8cf813f20ec09) and renamed it to Restore to align with arcade targets. I'll submit a change in corefx to hook up that target again. |
dotnet/corefx#33076 should hook up the optional tooling targets again. |
This is how we handle IBCMerge in Roslyn and msbuild: https://github.com/dotnet/roslyn/blob/master/.vsts-ci.yml#L29-L32 |
@tmat how to you handle the credentials for the feed? Is that hidden away in the feed guid you are using? |
Yes, the DevOps build task runs with credentials that can access that guid feed. |
If that ends up being the Arcade way of doing it (and it seems fine to me), the local dev scenario should be doc'd as well. (VSTS/AzDO NuGet auth is notoriously hard to get right... but I haven't tried it in a while, so maybe it's better now.) |
What is the local dev scenario for merging optimization data? |
Do you mean just replicating potential failure locally? If so then yes, it's not hard to get the package from the VS feed. |
There really isn't much of a local dev scenario for merging optimization data, other than for testing new functionality before checking in (like how @DrewScoggins is working on getting IBC data processed for Linux jobs). The only place that optimization data is consumed for CoreFx is in the official build. |
Optional tools is also how
It might not be for someone familiar with the infra, but stuff as simple as PATs expiring can be alien and hard to figure out how to solve for devs who are trying to get product work done. In any case, this should just affect the length of the doc. 😉 |
Perhaps yet another opportunity for a AzDO tasks? cc/ @chcosta |
I don't think we need a special task for this. The NuGet one already handles it just fine. |
A special task wouldn't address the "local dev scenario" @dagood brings up. I'm also not sure that a task addresses the fact that most of these packages need to get plugged into the build. It does seem that Arcade could perhaps provide an extensibility point here though which would provide these packages if certain authentication requirements were met. That would allow an official build or a local dev to repro using the same mechanisms. @tmat, thoughts? |
I'm not sure what problem are we trying to solve here. The current solution works well enough. We can probably improve on it in future, once NuGet/Home#6045 is fixed. |
For local dev scenario, I think all I'm asking for is a pointer to a doc. YAML templating or inclusion in some base template extensibility sounds fine. (Although it doesn't seem like anyone's really asking for that.) A custom-built task doesn't sound very useful though--I don't see what would/could be improved over the four-liner NuGet Restore task tmat's already pointed out in both issues tracking this feature. |
I don't think this would be a YAML template thing, I hadn't seen that proposed or even considered it. |
Ah, sorry, that's what I interpreted For the Arcade SDK, that would be similar to the BuildTools approach. What I'm thinking @tmat has said is that we shouldn't need that additional tooling for local devs to find this easy to use. (Either way, I'm just hoping for a doc with steps that are straightforward to follow, extra tooling or no.) |
@dagood This is the command to use to restore the internal toolset project:
|
@tmat is the @dagood it looks like the conversation has drifted from the original ask of the issue. Do you mind opening an issue with your request for a doc? |
We should move this conversation to #100. |
In the corefx build, we pulled down the OptionalToolSource packages using sync.cmd /p:OptionalToolSource, /p:OptionalToolSourceUser and /p:OptionalToolSourcePassword. With the port to Arcade, these options no longer pull down the optional tools, which are required for ProfileGuidedOptimization in corefx (specifically, applying IBC data to the various assemblies).
The text was updated successfully, but these errors were encountered: