Currently, the status
command shows which revision is released into each channel showing all risks in order (branches, if exist, after edge
), grouped by track, including also the version and possibly resources, if associated to that revision.
This is a complex example of the described situation:
Track Channel Version Revision Resources Expires at
latest stable v7 7 -
candidate v7 7 -
beta 7.0.0 23 testres (r14)
edge ↑ ↑ ↑
edge/mybranch 5.1 5 testres (r1) 2020-07-03T20:30:40+00:00
2.0 stable - - -
candidate - - -
beta - - -
edge 1 1 -
We shall also include the base of each revision. We could adopt a similar idea to what Snapcraft does:
$ snapcraft status fades
Track Arch Channel Version Revision
latest amd64 stable 9.0 375
candidate ↑ ↑
beta 9.0 375
edge 9.0 385
arm64 stable 8.1 294
candidate ↑ ↑
beta ↑ ↑
edge 9.0 389
But instead of grouping by architecture, group by base between the track and risks. In other words, for each track show all bases; for each base show all risks, in each risk show what’s released there. Bases will be listed in alphabetical order.
One extra complexity is that base is composed of three values: architecture, platform name and channel (note that this channel is related to where the charm will run on, not where the charm was released to, which is shown in it’s own Channel
column) . For example, a base can be: architecture ‘amd64’, name ‘ubuntu’, channel ‘20.04’.
To show the base in the list, we could compose one string with the three values, and show it under the new column. For example, we could separate the name and channel with a space, and include the architecture between parentheses.
The proposal will be (for a simple situation without branches nor resources):
Track Base Channel Version Revision
latest ubuntu 20.04 (amd64) stable - -
candidate - -
beta 2.0.0 23
edge ↑ ↑
ubuntu 18.04 (amd64) stable - -
candidate - -
beta 2.0.0 24
edge ↑ ↑
ubuntu 20.04 (i386) stable - -
candidate - -
beta 2.0.0 25
edge ↑ ↑
1.0 ubuntu 20.04 (amd64) stable 1.0.7 8
candidate ↑ ↑
beta ↑ ↑
edge ↑ ↑
ubuntu 18.04 (amd64) stable 1.0.7 9
candidate ↑ ↑
beta ↑ ↑
edge ↑ ↑
ubuntu 20.04 (i386) stable 1.0.7 10
candidate ↑ ↑
beta ↑ ↑
edge ↑ ↑