[Perf] Pipeline should clone tools repo as sibling of language repo, and call install-dotnet.yml in tools repo
- Dominant language
- C#
- Stars
- 135
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 144
Description
The perf pipeline at [eng/common/pipelines/templates/jobs/perf.yml](https://github.com/Azure/azure-sdk-tools/blob/b1668d917150b0cbdb0762ca9321570964732a93/eng/common/pipelines/templates/jobs/perf.yml#L4) should make the following changes to ensure the correct .NET SDKs and runtimes are installed:
* Clone the tools repo as a sibling of the language repo, instead of as a subfolder in the language repo
* The `UseDotNet` DevOps task, when `useGlobalJson=true`, searches for all `global.json` files under `System.DefaultWorkingDirectory`.
* Cloning the tools repo under the language repo can break `UseDotNet` in the language repo, since it may find unexpected `global.json` files.
* Call `install-dotnet.yml` in the tools repo, before running the `PerfAutomation` app, to ensure the correct version of .NET is installed. We may need to modify `install-dotnet.yml` to set the `workingDirectory` input to the tools repo, since in the perf pipelines, the tools will not be cloned under `System.DefaultWorkingDirectory`.
* Currently, the `PerfAutomation` app seems to work fine with whatever version of .NET is pre-installed on the agents, so this is more defense-in-depth in case it stops working.
Contributor guide
Assessment
This issue has not been assessed yet.