Improve Release Process and Branches
We need to improve our release process with stricter testing phases. There are technical tools to facilitate that. I've noticed GitHub is quite good in this regard also for example featuring product launch roadmap templates. GitLab should provide some of this functionality too though.
Another topic related is reorganizing the branches we have. Currently there are branches:
- unstable
- testing
- stable
We should look into providing one branch which is basically just Arch Linux synced (which is mostly unstable now modulo our own experimental software), it could be called "Manjaro Edge" and encourage users to opt into using it when they want to have a clean Arch experience including the AUR.
At the same time we continue to have an Unstable branch (Edge + experimental own software), where we test our own software.
Once we're happy with the state on Unstable, we merge the state of Unstable into Testing and back into Edge.
From Edge we merge in predictable intervals into Testing. After some courtesy wait (waiting on feedback from users on Edge basically) we merge Testing into Stable.
Thoughts?
A flow chart of how software updates flow with this release scheme: