gromero commented on code in PR #66:
URL: https://github.com/apache/tvm-rfcs/pull/66#discussion_r847864893


##########
rfcs/0000-docker-image-tags.md:
##########
@@ -0,0 +1,52 @@
+- Feature Name: docker_image_tag_format
+- Start Date: 2022-04-08
+- RFC PR: [apache/tvm-rfcs#0000](https://github.com/apache/tvm-rfcs/pull/0000)
+- GitHub Issue: [apache/tvm#0000](https://github.com/apache/tvm/issues/0000)
+
+# Summary
+
+Defines a format for TVM CI Docker images tag.
+
+# Motivation
+
+In the current format used to identify our Docker images, it is impossible to 
link back a given version of the image to which version of the repository that 
represents.
+
+# Guide-level explanation
+
+For years we have been using a patern to version our CI Docker images, which 
is composed by v0.INCREMENTAL_NUMBER, e.g. tlcpack/ci_cpu:v0.80. Every time an 
image is updated, we bump the minor number, just as a way to release a new 
version.
+
+As the project is growing and given we recently have been improving the Docker 
images building process, it is time to consider using a more meaningful tagging 
scheme, so that it is easier to identify what is included in the images being 
used in our CI.
+
+When looking/using a Docker image, usually we would be interested in:
+
+1. How long ago was this image generated?
+2. What is the last change added in the current images being used in 
production?
+
+None of these questions can be answered by our current numbering scheme, and 
to get that information we would usually need to do some digging and inspecting 
the image to see what is in there.
+
+# Reference-level explanation
+
+As an improvement to the current situation, this RFC proposes the adption of a 
tagging scheme currently used in the `tlcpackstaging` 
(https://hub.docker.com/u/tlcpackstaging) repository, composed by:
+
+* a timestamp YYYYMMDD-HHMMSS
+* the last short git hash added in that image
+
+One example would be tlcpackstaging/ci_arm:20220201-115323-2af42ba8e. This 
tells us when this image was generated and up to which point in the repository 
is included.
+
+The advantage with the proposed scheme, is that we can just look back on our 
own repository to discover which changes to the Docker setup scripts (under 
docker/install/* in the TVM repository) as a way to check whether a given 
change is expected to be in the image.
+
+# Drawbacks
+
+Pointing to "the previous image" is obvious today, because it is just "the 
current version minus one". To revert the image in the proposed tagging scheme, 
we will need to adapt this process and use git history to discover which was 
the previous version in the repository. However, reverting images is quite rare 
so it should be something the will consume lots of time very often.

Review Comment:
   @leandron I think I follow here but I think there is a typo in `However, 
reverting images is quite rare so it should be something the will consume lots 
of time very often.` i.e. s/`the`/`that`/? But even with that change I think 
that this phrase can be improved, because: "revert is quite rare but it will 
consume lots of time very often" seems a contraction in this context?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to