tinkerbell/hook

git tag "latest" behaves in a mutable way.

jacobweinstock opened this issue · 0 comments

We currently use the git tag of "latest" to point to the top of tree commit. We update(delete and create) this tag with every merged PR. This effectively makes the latest tag mutable.

As far as I understand the latest tag's sole purpose is to enable the creation of a single GitHub release pointing to the top of tree. Deleting and creating the latest tag for every new top of tree commit causes some unexpected behavior for clients interacting with this repo.

I find the creation of a GitHub release pointing to the top of tree to be valuable but I think we should revisit the way in which we generate these releases.

Expected Behaviour

I expect git tags to always point to the same commit.

Current Behaviour

Possible Solution

One possible option could be to create a unique tag for all top of tree commits. Then from there a new GitHub release is created. When a new top of tree commit comes along, we delete the previous top of tree commit tag and the previous GitHub release and start the process over. Create a new unique tag and an associated GitHub release.

Steps to Reproduce (for bugs)

Context

Your Environment

  • Operating System and version (e.g. Linux, Windows, MacOS):

  • How are you running Tinkerbell? Using Vagrant & VirtualBox, Vagrant & Libvirt, on Packet using Terraform, or give details:

  • Link to your project or a code example to reproduce issue: