-
-
Notifications
You must be signed in to change notification settings - Fork 506
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
Improve performance of resolving manifest file paths #5871
Improve performance of resolving manifest file paths #5871
Conversation
Yeah, currently, you need to run the acceptance tests using one of the acceptance tests scheme |
I will convert this to draft until I have time to fix the acceptance test issues now that I know how to run them locally. |
Acceptance tests now pass locally with the exception of |
let absolutePath = AbsolutePath(stringLiteral: path) | ||
if hasValidManifestContent(absolutePath) { | ||
tuistManifestsFilePaths.append(absolutePath) | ||
if candidatePath.hasSuffix(".swift") { |
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.
nit: you can use a guard and continue to reduce intentation
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.
Done.
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.
This is an amazing improvement π
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.
just wow. Thanks a lot for this @anlaital-oura
@all-contributors add @anlaital-oura for code |
I've put up a pull request to add @anlaital-oura! π |
Short description π
Running
tuist edit
in a large git repository is quite slow at the moment. Running Time Profiler indicates that globing is the root cause of the slowness as it globs the entire repository. This is despite.tuistignore
being present, as exclusion is done only after globing.These changes reduce the time it takes to run
tuist edit
in our large repository from 31s to3s1.5s0.27s in release mode (M2 Max). Related discussion on Tuist Slack.I tried running
mise run tuist:test
but it fails acceptance tests even on a clean checkout. Could you advise on how tests should be run locally? I don't know if it's because of Tuist 4 changes, but a lot of the documentation seems a bit outdated on this.Before:
After:
How to test the changes locally π§
Run
tuist
scheme withedit
argument against a custom working directory that is a large git repository.Contributor checklist β
mise run lint:fix
Reviewer checklist β
changelog:added
,changelog:fixed
, orchangelog:changed
, and the title is usable as a changelog entry