tinkerbell / hook

In-memory Operating System Installation Environment for Executing Tinkerbell Workflows
Apache License 2.0
102 stars 49 forks source link

git tag "latest" behaves in a mutable way. #157

Closed jacobweinstock closed 2 weeks ago

jacobweinstock commented 1 year ago

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)

1. 2. 3. 4.

Context

Your Environment

jacobweinstock commented 2 weeks ago

closing for now.