In my case, when I reviewed the .gitlab-ci.yml, i found that there was a typo in image i was pushing to registry after build. That caused mismatch and image got pushed to registry with the wrong tag. So, always double-check are you pushing what you built? e.g. after correction,
docker build -t $IMAGE_NAME:$VERSION .
followed by
docker push $IMAGE_NAME:$VERSION