-
Notifications
You must be signed in to change notification settings - Fork 3k
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
dev: perf regression test configuration #13194
dev: perf regression test configuration #13194
Conversation
…/perf-regression-test-configuration
Now you can either rebuild the native app fully, skip it entirely, or just rebundle the JS bundle
PR was merged that this was based off of - Happy to review when this is ready! |
…/perf-regression-test-configuration
…/perf-regression-test-configuration
@AndrewGable Cool, I think its good for a review now 💪 |
@NikkiWines Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Sorry if I'm missing sth obvious but I'm wondering how we can only change js If we compare 2 different branches. Also if we can have multiple tests right now is it a problem that main can have a different list of tests than currently testing branch? Do you think it would be easier to instead of checking-out to a different branch we could clone different branch to and place it somewhere within the repo? For instance repo/.compareBranch/cloned_repo |
I would also add a flag --development mode or sth that only runs test once and only using the current branch. The purpose would be to speed up writing new tests. |
yeah that's definitely an interesting point. We can check back after building the app. The tests are bundled inside the app, so when building the app on
This is an optional build option. I think for the
Not really, I don't see how that would help? 🤔 if there is a difference in the tests, the tests would still be missing e.g. in the cloned repo. |
Then you would have access to new tests and can build the apk on the main branch using new tests. It could just copy tests to cloned repo/e2e/sth. |
At the moment adding test is a bit hard because:
|
Actually cloning can be slow but I can image we could just copy e2e directory to a new dir that is not part of git so it will stay there even when we checkout. |
Meeting with Szymon:
|
…/perf-regression-test-configuration
Looking great, let me know when this is ready for review. Can you link #11711 in the fixed issues? Thanks! |
…/perf-regression-test-configuration
Hey @AndrewGable, I think this should be good now for review 😊 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Just one question.
…/perf-regression-test-configuration
Reviewer Checklist
Screenshots/VideosN/A - Test changes, no source code changes. |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Performance Comparison Report 📊Significant Changes To DurationThere are no entries Meaningless Changes To DurationShow entries
Show details
|
🚀 Deployed to staging by @AndrewGable in version: 1.2.46-0 🚀
|
🚀 Deployed to production by @roryabraham in version: 1.2.46-0 🚀
|
Details
This PR is based on:
main
via AWS Device farm #12320.The changes in #12320 made running the performance regression tests locally quite difficult. This PR fixes this.
In addition this PR has the aim, to reduce the runtime of the performance regression tests, so that developers can run those tests locally.
Its important that developers don't get blocked for a long time, or otherwise no-one will run the tests locally, although they provide value and can tell the developer early on if he/she messed up somewhere.
The time reduction is accomplished by two things:
--buildMode js-only
to the CLI it will just re-bundle the JS code into the existing native build.This is in an effort to make it more easy for devs to compare their changes performance wise.
In addition to that you can now also choose to just run specific tests, by using the
--includes
option:nom run test:e2e --includes "login|signup"
Note: The changes of this PR are a bit hard to get, as it's based on another un-merged PR. I will mark this PR as draft, and once the original PR got merged, I will mark this PR as ready.
Fixed Issues
$ #11711
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests
Offline tests
Not needed
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.Screenshots/Videos
Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android