On Wed, Dec 19, 2018 at 12:30:23PM +0100, Bastian Blank wrote: > What do we want from a version? > > - A user should be able to tell what's in it, which we do by using a > date. > - It should contain some monotonic increasing value to distinguish > between different builds on the same date. > - Development builds should have something distinct in it.
IMO, the first requirement is too strong for a version. It's a good idea, but easier to accomplish by attaching tags/labels to the image. For CI builds, that should include git url and tag/hash. The second two requirements seem right to me. > To accomodate this, I'll propose for the textual version: > > - The first part of the version depends on the build type. > - For release images, it will be the current date as number (e.g. > 20181219). > - For development images built on the CI, it will be the namespace (if > the repo is /waldi/debian-cloud-images, it will be "waldi"). > - For development images built with make, it will be "manual". > - The second part will be just the CI pipeline IID (the ID relative to > the current project, so it won't get too large). This ID is automatic > and monotonic increasing for a particular project. > > This gives as versions: > > - 20181219.324 > - waldi.324 > - manual.0 I like this scheme, but GCP will need a little munging since image names can only include [a-z0-9-]. Ross
