Application-services components are consumed by multiple consumers including Firefox Android, Firefox iOS, Focus Android, and Focus iOS. To minimize the disruption to those projects when making breaking API changes, we follow a simple rule: Have approved PRs ready to land that fix the breakage in the other repos before merging the PR into application-services.
This means writing code for the firefox-android and firefox-ios repositories that resolves any breaking changes, creating a PR in those repositories, and waiting for it to be approved.
You can test this code locally using the autopublish flow (Android, iOS) and use the branch build system to run CI tests.
Do not merge any PRs until all are approved. Once they are all approved then:
- Merge the
application-servicesPR intomainand manually trigger a nightly build. - On the next day, the application-services nightly bump PRs fail for the
firefox-androidandfirefox-iosrepositories since there are breaking changes. This is expected and normal. - Merge your branches on
firefox-androidandfirefox-iosinto the branch with the nightly bump. This should resolve the issues and the nightly can be merged as normal.