Improve release system for system app via app lounge
- /e/ version:
- Device model(s):
Summary
After a discussion on TG about a release of AccountManager for QA it appears that the release system needs to be updated. in order to allow to provide release only for QA and real release separately in a simpler way.
Description
What is the current behavior?
From updatable system app POV
It may be some specific step depending on the project
- Merge a fix into a main branch
- Create a tag (the tagging format for title & content is not defined!) so that it is protected (see project->settings->Repository -> Protected tag)
- Manually trigger the
create-json-files
job which will also trigger thecreate-release
one. As the name mentions, it will create the release page.
From App Lounge's POV
1. Fetch Updatable system apps
On beta
& rc
OS build, App lounge fetches updatable system apps by
checking this endpoint: updatable_system_apps_test.json
On other build, App lounge fetches updatable system app on https://updatable_system_apps.json
2. Fetch available release
Then App lounge go to each project and check (latest ?) release(s). It looks for some json files:
official.json
& community.json
.
Then it read the corresponding json files, and compare version to know if the update has to be installed.
3. Update if necessary
What's wrong ?
- So first you enable the app update for beta & rc (by adding the package name & project id to
updatable_system_apps_test.json
), then you publish a release by creating a tag.
once validated, you add the app update for any release build by adding it to updatable_system_apps.json
(again package name & project id). So release build will target the same release page.
Then, next time you publish a new release, as the package name & project ID is already stored in updatable_system_apps.json
. Then the release page will be available for any build (beta, rc and release).
Consequently the validation process is not good anymore
- There is no release for test build. But an issue is already opened for that
What is the improved behavior?
As a developer/manager I should be able to generate release to install via app lounge only for QA & for test build In order to test them before to publicly release them
What does it bring? Security & efficiency