Skip to content
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

[PERF] Move performance testing logic into python scripts #101143

Draft
wants to merge 27 commits into
base: main
Choose a base branch
from

Conversation

caaavik-msft
Copy link
Contributor

This change is being made so that as much of the performance testing logic is runnable and testable locally as possible, and centralised inside the performance repository rather than the runtime repository. Right now, a lot of the logic sits inside Azure Pipelines yaml files that are difficult to debug and can't be run locally. With this, it will be possible to build on top of it support to schedule performance tests to be sent to Helix from a local machine using local code.

In addition, this change also moves the logic that checks out the performance repository from a script into an Azure Pipelines checkout step using Azure Pipeline's multi-repo checkout functionality. With this, you can now easily see the version of the runtime and performance repository being used for a performance test run. I have also added a "branch" parameter to the runtime performance test pipelines which will let you specify a custom branch off the performance repository to be used in case you have a change that needs to be coordinated against both repositories at the same time.

This change is dependent on dotnet/performance#4156 and must be merged after the change to the performance repository is merged in. Both PRs should be reviewed as one piece however as they are both built for the same feature.

@caaavik-msft
Copy link
Contributor Author

Seems that the draft PR got automatically assigned some reviewers, I'll reping the reviewers once I move this out of draft as it's not ready for review just yet outside of my team.

@@ -66,6 +65,7 @@ jobs:
iosStripSymbols: ${{ parameters.iosStripSymbols }}
hybridGlobalization: ${{ parameters.hybridGlobalization }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
extraSetupParameters: $(extraSetupParameters)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the extraSetupParameters coming from? Does the initialization below get replaced above/here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this added folder(?) added on purpose?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants