rethink our tagging strategy for auto-deploy
The format of the current auto-deploy tag:
12.0.9690+c8670321fca.a94338c7bcb
-
9690
: the CI job id of the tagging job -
c8670321fca
: The last green commit on the EE auto-deploy branch -
a94338c7bcb
: The last green commit on the omnibus auto-deploy branch
Tagging omnibus is what triggers an omnibus pipeline, and a deployment
- If we tag when one of (1,2,3) changes, it means we will tag/deploy on every single pipeline run because (1) is incremented on every pipeline run of the tag job
- If we only tag when the version files (VERSION, GITALY_VERSION, etc.) are updated, it means we will not deploy if there is a new omnibus commit on the auto-deploy branch, but no other changes
Right now as a workaround to prevent multiple auto-deploy jobs for the same versions, we are only tagging when the version files change. This doesn't really work however, for the cases where there are omnibus updates and the version files stay the same.
Possible solutions
- We remove the pipeline ID entirely from the semantic version, this would require either an omnibus or ee commit ref change for a new auto-deploy. The main reason for having it is for upgrading packages.
- We look at the tag of the commit we are about to tag, if it looks like there is one there, perhaps if it looks like an auto-deploy tag, we do nothing
I think we originally discussed something like (2) but it was assumed that the tag would be identical.
Edited by John Jarvis