-
Notifications
You must be signed in to change notification settings - Fork 5
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
[MOB-3113] Add Ecosia Framework, remove Core
and update tests
#837
[MOB-3113] Add Ecosia Framework, remove Core
and update tests
#837
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
This reverts commit 5e12431.
936a200
to
2a2f75f
Compare
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.
Awesome job bringing this to the upgrade 👏 `Also great to see gitmodules worked out for snapshot, I agree it's a big improvement 🎉
Most of the review #816 is persistent and looks good to me!
Added a couple minor comments, the one about CD might be more relevant? Also waiting for the slack discussion about security to resolve before approving.
firefox-ios/Client/Ecosia/Experiments/Unleash/NewsletterCardExperiment.swift
Outdated
Show resolved
Hide resolved
This reverts commit 7c647ba.
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.
LGTM 🚀
MOB-3113
Context
Original work #835
This PR is the result of a series of improvements in the overall handling of:
Core
removalApproach
Consider everything we did as part of #835 and review it in favor of the major improvement for Snapshot Testing 📸 .
As further context, we explored the possibility of implementing Git LFS to improve how we handle the raw snapshots' artifacts.
Specifically, we wanted to remove all these artifacts from the main repo.
Git LFS seemed the perfect solution to implement right away.
Unfortunately, this option would not fit into our project structure because:
Source
However, option two, which quickly became available, consisted of implementing submodules.
We all know how quickly things may become messy with submodules, but it is worth a try for this precise scenario of purely serving resources and not code.
The first challenge was to include the submodule only for
*.png
artifacts as we didn't want to make another source for our code (as we challenged ourselves to solve this in the first place portingCore
after all 😅 ).The way the Snapshot Testing library works https://github.com/pointfreeco/swift-snapshot-testing is to make a
__Snapshots__
subfolder at each of the paths our tests live.To make submodules work, we wanted to decouple the artifact source of truth from the test domains.
Fortunately, the library provides us with a not-so-straightforward solution for that, eventually defining a custom directory while keeping our standard folder layout.
GIt LFS implementation
With the submodule challenge sorted out, going the extra mile and further improving the newly created submodule felt almost like a no-brainer.
Therefore, I actioned it.
By doing so, we are maximizing effort and resources when it comes to performing such tests while keeping the repos as lightweight as possible.
Other
We will need to monitor the Git LFS billing as per the repo size, but in the worst-case scenario, we can always roll back Git LFS and deal with raw artifacts, while keeping them in the submodule.
Before merging
Checklist
// Ecosia:
helper comments where needed