feat(updates): Differentiate between Gitlab releases (#2461)
Description
Allows App Lounge to differentiate and choose proper release based on the eOS release type.
Screenshots
Technical details
Assume the following releases:
v1.2-test
v1.1
v1.1-test
v1.0
Previously App Lounge will only check the latest release, i.e. v1.2-test
and try to update the APK from this even if the eOS version is a community
/ stable
final release. This would obviously fail.
Now with this MR, if eOS is of type test
then App Lounge will get the test release. Else it will get the next release that has the proper jsons for community
or stable
(in this case v1.1
).
Basically App Lounge will check the existence of the test.json
or community.json
or stable.json
file. It will pick the latest available release that has the required file.
Tests
Issues
https://gitlab.e.foundation/e/os/backlog/-/issues/2461
10 commandments of code reviews
Summary by CodeRabbit
-
New Features
- Introduced a new interface for retrieving release information from GitLab.
- Added functionality to dynamically construct API requests for system app updates.
- Enhanced repository capabilities to fetch JSON links for project releases.
- Added data models for structured handling of release information, including assets and links.
-
Bug Fixes
- Improved error handling and logging for API calls related to release and update information.
-
Chores
- Updated dependency injection to include the new ReleaseInfoApi for better API management.