Currently we have a single track, latest, that has four channels. We’ve abused these to have snaps delivered for the current stable released Juju, the in-progress next stable, as well as the edge daily builds.
This proposal for where we want to get to is the following:
We will create 2 tracks for Juju use. One track will be for 2.3 release which is the latest stable right up to the new 2.4 release. We want to allow users to stick with 2.3.X for a little while as 2.4 gets its legs under it.
Within the 2.3 track we want to utilize the channels in that track for exactly what it’s meant for.
- 2.3/stable - latest stable release of 2.3.x
- 2.3/candidate - what we expect will become the next 2.3.x release. This is used for QA solutions testing and folks validating the release.
- 2.3/beta - not used as 2.3 has been released and so beta users would just get candidate releases
- 2.3/edge - updated per commit landed against the 2.3 branch. This is the “daily” as we go from one 2.3 release to the next.
- 2.4/stable - the latest stable of 2.4. This will also track the latest/stable as 2.4 is the latest release.
- 2.4/candidate - what we expect will become the next 2.4.x release. This is used for QA solutions testing and folks validating the release. Currently this would be for when we deem 2.4.1 ready for release.
- 2.4/beta - as 2.4 is out we’d not use the beta channel
- 2.4/edge - updated per commit landed against the 2.4 branch. This is the “daily” as we go from one 2.4 release to the next.
- latest/stable - currently the 2.4 stable release updated each time we release a new 2.4
- latest/candidate - what we expect will become the next 2.4.x release. This is used for QA solutions testing and folks validating the release. It’ll turn into the 2.5 series once we have an RC candidate.
- latest/beta - unused currently but will turn into the 2.5 series once we have a 2.5 beta1 release to work from
- latest/edge - updated per commit landed against develop. This is the “daily” build of trunk and is currently the work in progress for 2.5
Give this lineup the team needs to update our various landing jobs such that they can release to the correct track. Currently, snaps are built and uploaded to the store via the LP build process. I’m not sure how we can adapt that such that as we build snaps for various versions we can make sure they end up in the right places in the right tracks.