-
-
Notifications
You must be signed in to change notification settings - Fork 329
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
test: Run Performance Tests in CI #1482
Comments
As pointed out by @bruno-garcia, running performance tests in CI is maybe not the best idea, as you don't have full control over how busy the CI machine is. Maybe it's better to have a dedicated self-hosted machine only running the performance tests. When having remote access to this machine setting up the xcbaselines is going to be straightforward. |
We now have performance metrics for the SDK #2067 and also benchmarking workflows. We can close this. |
CI can't compare the performance test with measure against anything, as Xcode needs baseline files for the same computer. In CI, the computer specifications might change frequently, so it's a lot of effort to create those baseline files. This test only slows down CI, and therefore, we can remove it. For more context see #1482.
CI can't compare the performance test with measure against anything, as Xcode needs baseline files for the same computer. In CI, the computer specifications might change frequently, so it's a lot of effort to create those baseline files. This test only slows down CI, and therefore, we can remove it. For more context see #1482.
The unit tests contain a few performance tests. These tests need baselines stored in xcbaselines. Xcode only uses these baselines if the type of machine in the Info.plist and the machine running the tests match. Furthermore, there is no way of defining a generic combo so the tests run on multiple machines. There is no official Apple documentation confirming this, but personal experience and this article strengthen this statement. As the current baselines are taken from a local computer the performance tests don't run in CI.
We could use
system_profiler
to get the specifications of the machine in CI and update Info.plist accordingly so Xcode runs the performance tests.Example usage of system_profiler.
Specifications needed for the Info.plist file.
Points to consider:
<key>1C0AB51E-7DAD-4469-8384-B6DE6A8E9023</key>
needs to have a matching1C0AB51E-7DAD-4469-8384-B6DE6A8E9023.plist
file.sentry-cocoa/scripts/xcode-test.sh
Line 27 in 7e975ea
sentry-cocoa/Sentry.xcodeproj/xcshareddata/xcbaselines/63AA76641EB8CB2F00D153DE.xcbaseline/Info.plist
Lines 56 to 57 in 7e975ea
iPhone 8
are not the same.scripts/
.The text was updated successfully, but these errors were encountered: