Tagging a blob or tree results in weird behavior
Git is technically able to tag tree and blob objects as well as branches and commits. If a user tags a blob and pushes it to gitlab we do some unexpected stuff.
We are unable to extract the target_commit so the tag object doesn't contain a dereferenced_target and the target value is the sha of the tag not the blob.
This then results in us using the project.repository.root_ref in place of the SHA value so we trigger a pipeline for ref: tag.name, sha: project.repository.root_ref.dereferenced_target.sha. We have no way of knowing this is the correct SHA and we also shouldn't be triggering a pipeline anyway as this isn't a commit, we can't run a pipeline against a specific tree or blob.
We also show the root_ref commit in the UI when viewing the list of tags. The commit message shows when we should really be displaying an empty UI.