-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Policy for rolling releases
The goal
Worry-free updates, even in the event of updates that break compatibility.
Simply run power-log --update command, and incompatible configurations will be handled automatically.
The policy
-
The work in progress is in dev branch.
-
The status of the dev branch reaches the goal.
- The script must contain the name of the release. For example: best.
-
Merge the dev into the main branch.
-
Create a new release
- Choose a tag (unique for each release). For example: best.
- Copy-paste the readme into description
- Add the script as attachment
- Edit the
wgetandcurllinks with the script release link
-
Edit the previous release (For example: current)
- Create the file
nextthat contains the name of the new release. For example: best
- Create the file
What power-log --update does
Download the file next from the current branch
If next is not empty, it is the name of the new release!
If next is empty or 404 or other thigs, nothing happens.
- The script download the new release
- The old release will call the new one with the
--installparameter - The new version will resolve any issues and proceed with the installation.
Obvious question
Q: Why not directly the name of the last version?
R: Beecause, if there is a broken update, the "bridge" release can keep user data consistent. Inconsistent data could:
- invalidate some rows of the log
- look for files in different folders
- and other things that could be changed in the future.
Thanks to this policy, the user is not forced to check whether the update broke anything. Or if some files need to be deleted.