-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release management for VGCN images #78
Comments
@sanjaysrikakulam I think you were also interested in having the release names changed. Just pinging you so that you are aware that the issue exists. |
Thanks for the detailed thoughts to this, I fully agree that it needs to change and I think I agree to most of what you said. Here are a few ideas I have:
I created an example list with an AI of my 'trust'
|
I like the idea. I somehow missed the ping. Sorry! The following would be nice from Mira's and yours; I think
This name would be cool, and we can add a section in the readme of VGCN explaining the same. |
Do we all agree on @sanjaysrikakulam 's version, or is it maybe better to keep the seconds so it is easier to select the latest build? |
I'd keep the seconds to easily select the latest build. I think that now leaves the decision up to you :)
After thinking it twice I would switch what I initially proposed to |
I think we can continue with this final version @kysrpex suggested |
Ok then now what remains is to change vgcn-build.sh to accomodate the changes. |
Shall we create the timestamp before starting the build or after? |
The timestamp refers to the commit time. I assume that is why @sanjaysrikakulam objected, because you need to run some git commands to compute it (more work).
|
I think that should do it:
|
Regarding our discussion if we should leave out generic and only mention it with a "-" prefix if it is missing – here is my proposition:
if generic is present it will be cut off, otherwise "-generic" is appended |
That sounds good, I just thought that we need a different character from |
or, the verbose way: literally say "+no-generic" |
I prefer |
@kysrpex and I had a discussion about the Jekins build script and we had two outcomes:
|
Rename `htcondor-secondary` image to follow naming conventions from usegalaxy-eu/vgcn#78
We need to change the column width here: |
Compute commit time in `assemble_timestamp` instead of build time as agreed in usegalaxy-eu#78.
Edited by @mira-miracoli
Tasks:
vgcn~<provisioning>~<os>~<date>~<seconds>~<branch>~<hash>~<comment>
<comment> = "test"
Original post from @kysrpex
At the moment, our publicly released images are named like this: "vggp-v60-j324-67edcc87f400-main" (see https://usegalaxy.eu/static/vgcn/ for more examples). Images uploaded to OpenStack have similar names.
The names are constructed from a build tag
that is used to generate the release tag (the final name)
by calling the
release_tag
function using$flavour
as an input.release_tag $flavour
The good choices I see in our current approach are:
The bad choices are:
Neutral choices:
The bad choices make it difficult to "compare" two image versions (determining which one is newer when it makes sense), or quickly inferring what is in them (fortunately the branch name and commit hash can still be used for this purpose).
We need a naming scheme (and possibly a simple branching model) that addresses those problems. Let's think of what information is needed or would be useful to put on a version tag for an image.
I think we could leave out:
A possible naming scheme could be
vgcn-<date>-<seconds>-<branch>~<provisioning>~<os>~<hash>-<comment>
, where:vgcn
could immediately help distinguish the old naming scheme from the new one (if there is not a good reason for the namevggp
).<date>
is the commit date inYYYY-MM-DD
format. For example:2023-10-19
.<seconds>
is the commit time measured in the number of seconds elapsed since the start of the commit date (i.e. sinceYYYY-MM-DDT00:00:00
). For example:58706
.<branch>
is the name of the Git branch. Git branches should differ from main only in small details and be temporary, just for patchwork.<provisioning>
are the playbooks that have been used to provision the image. It could be a + separated list of playbook names, for examplegeneric+workers+internal+gpu
. Optionally we could allow the use of at most one alias (the string would start with+
) to have shorter names and avoid confusing people. For example,+external
could be an alias forgeneric+workers+external
, and the alias could be combined with more playbooks, for example+external+gpu
.<os>
is the name of the Packer build without the source (e.g.centos-8.5.2111-x86_64
).<hash>
is the Git commit hash.-<comment>
is any extra string to identify deviations from the Git commit that was checked out at the moment of building the image. Jenkins would omit this part. If you build an image locally with any deviation from the checked out commit and share it with others, it would be nice if you include something here.A sample name using this scheme could be
vgcn-2023-10-19-58706-main~+internal~centos-8.5.2111~x86_64-687c70f-local_build_different_motd
.The text was updated successfully, but these errors were encountered: