Replies: 1 comment
-
I did a lot of the branch and release management in my last job. Typically what you'd do is have 2 branches:
In xDrip's case, you'd probably want 'master' to serve the role of the stable/release branch, since it's what most people are going to use as their baseline for code changes. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The alpha release is meant to be a release that has not been fully tested.
A beta release is meant to have been tested more than an alpha. But, it's still not considered as reliable as the stable release.
A stable release is the current official recommended release for the user community.
A pre-release, or Nightly release, is a release that is just a test. It may fail. The developers are not sure it should even be an alpha.
Every stable was previously a beta.
Every beta was previously an alpha.
Every alpha was NOT necessarily previously a nightly. It could have been. But, it could have just been released as an alpha.
But, when I look at how we release xDrip, I see a significant difference.
We perform so many tests and scrutinize a submission so much before releasing it as a Nightly. It's as if we consider a Nightly to be an alpha.
And we consistently tell people to use the Nightly releases. These two feed on each other. The users expect the Nightlies to be stable and functional and dependable.
Now, if we want to test something, we cannot release it as a Nightly even though that's exactly the purpose of a Nightly release.
We have to open a PR and ask people to test it. This is an example: #2296
The problem with opening a PR and asking people to test it is that they will need to compile it first. Then, they will need to uninstall their official release before they can install their compile since the signatures are different.
But, we have serious issues with database management:
#1547
#1045
#1705
So, we cannot ask users to uninstall.
Suggested solution:
We should release alphas instead of Nightlies.
By default, a new release should be an alpha. Instead of having an alpha once every 3 months, we should have all the new releases (currently, on average, weekly) released as an alpha.
About once every 3 months, we release an alpha. We should instead release a beta once every 3 months.
Once every 6 months, we release a beta, which is always identical to stable. Instead, once every 6 months, we should release a stable.
When we have a release that needs testing before we can consider it good enough to be released to everyone as an alpha, we should release a "Test" release.
The purpose of a Test should be to allow us to release an official release that is not meant to be used by everyone.
Every new release should not be a Nightly.
There should be no Nightly release channel. The only release channels. monitored by automatic update check, should be alpha, beta and stable.
The Test releases should be rare only when we need something to be tested before releasing it as an alpha.
This is an example candidate for that: #2296
Beta Was this translation helpful? Give feedback.
All reactions