Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content

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

  1. Merge a fix into a main branch
  2. Create a tag (the tagging format for title & content is not defined!) so that it is protected (see project->settings->Repository -> Protected tag)
  3. Manually trigger the create-json-files job which will also trigger the create-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

Mock-ups

Examples

Validation

Edited by Vincent Bourgmayer