-
Notifications
You must be signed in to change notification settings - Fork 76
Open
2 / 32 of 3 issues completedDescription
Problem
The old model of an automatic updater:
- detected an updated component.;
- Downloaded the update;
- Committed it directly to the
masterbranch ; - Updated the
.version_codeof the component.
This is no longer appropriate because some components
- are too big to be stored in git, even using
git-lfs(see microG Services v0.3.10 is over 100 MB and it will be rejected by GitHub #53 ) - need additional changes - e.g. to permissions files - in order to work (see New versions of microG components have 'broken' the build #36 )
Some issues have already been raised, and fixes implemented to deal with some of these issue,
- Change updater action to not commit direct to master branch #48 was raised, and (partially fixed) to stop updates being committed to
masteruntil they had been checked / tested - Get microg GmsCore & FakeStore direct from GitHub not from this repo #65 introduced the
vendorsetup.shscript, which, for the microG components, pulls the version of the component specified in.version_codedirectly from the component's githubreleasespage, at build time.
Solution requirements
For all of the components included in this project:
- the need for an update is detected automatically;
- the new component can be tested before the repository code is changed to use the updated component;
- the number of times a component is downloaded is minimised: github imposes bandwidth limits on projects it hosts (including the projects / components we use), and our use of those components should minimise how much of that bandwith we use.
Solution implementation
- A 'Check for Updates` action checks whether new versions are available. If they are, for each compnent with an update, it creates an issue with the title 'Update to version '.
- A project maintainer will 'fix' the issue, by trying the new component: if the new component is OK, the maintainer will commit a change to the
.version_codefile for the component, causing thevendorsetup.shscript to download the updated component at build time. - The issue will be closed, once a monthly build run is completed that includes the updated components.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels