-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lightweight tags and tag namespaces #127
Comments
@aguschin - Can I ask why is this needed? Is there a use case? They lack mandatory information by definition - either limiting us to not have mandatory field, or, create inconsistency. Also they usually are meant for local usage and not for collaboration, and it's a bad practice to push them to remotes - sounds like local inconsistencies is not the wanted property from a registry - usually all about consistent and shared source of truth to rely on in production ops. Partially unrelated - Maybe we should even prefix gto's tags with |
@omesser thanks for your feedback!
No clear use case, I just think it can be confusing for users why the have some tag, but GTO doesn't take it into account. E.g. you see My take was that we should encourage users to create annotated tags and don't create LW ones, but still offer some way to support them. Do you argue that we don't need to support them at all? Or that by default we shouldn't support them and instead of
🤔 this will remove simplicity @dmpetrov wants to have, but we can make this optional I guess. On the other hand, may be it's ok to parse other tags also - e.g. if user have convention to register versions with As a side note, I saw some tools that use this structure, but tag conventions are different (related to #114). E.g.
We can't support all of these, I believe (maybe some cmd flags can help?). Right now we are compatible with 2, 3. |
Thanks for the quick answer @aguschin ! LW tags
Why would users create tags manually and not by And of course, there's the other direction - What if the users want to create tags to trigger CI/CD or other reasons but don't want / don't foresee the effects in My biggest concern with LW tags is their tendency to be local. My local gto run would show me things that won't show on anyone else's checkout (or in studio) because they weren't pushed to upstream repo About namespacing tags
I'm not sure picking up all tags makes things simpler or actually more complicated, it might make it worse for the team collaborating, if people start mixing formats and doing things manually by directly manipulating tags. Because a very real and likely possibility is that they also will manually remove tags to deregister (natural) and modify them instead of adhering to SuggestionsSo I would suggest a logical way to take this is:
Would love to get more opinions on this (CC @aguschin @dmpetrov @shcheklein @casperdcl @mike0sv ) - Is "clean looking" tags the priority here for a default behavior? |
Two thoughts in continuation of this discussion NamespacesAfter some thinking, I would suggest what's came up in Product Sync call - using namespaces as types. If we use
Special namesOn the other hand, I don't think hardcoding One downside of this is having different things shown in GTO and Studio. But I have troubles suggesting a case when this will break something when you have a single artifact of type "model" in repo. And when you have |
Thanks for this discussion @aguschin & @omesser - this thread came up during yesterday's Studio Front-end Sync when we were discussing the last steps we need to perform to get Models into the Studio View table. Studio might also benefit from what is being proposed here. I don't think Studio's implementation needs to prioritised, but it might be nice to consider it. Studio contextfor each commit row in the table, in the first cell we show a commit name. The commit name consists of any tags associated with the commit. In addition to this existing behaviour, we want to show the GTO model version inside the model's column cell. To be able to reliably filter out the GTO tag that describes the model version, having these namespaced tags would make this job easier. cc @Suor |
Also another thought: right now our convention for versions is |
Please see this discussion about I suggest we keep it. It looks like we're still discussing the prefixes and namespaces - and it would be weird if we end up supporting |
I prefer |
For the record, how we may handle namespaces is now affected by current decision to support monorepos: tag |
Lightweight tags are created with simple
git tag TAGNAME
and doesn't contain information about creator, date, etc. GTO doesn't create them, but user can. They can register versions or promote something.Now they're ignored by GTO, although they still can trigger CI and though they look pretty similar to annotated ones for unexperienced user. We need to support them I guess.
I would suggest reading and interpreting them by default, but supporting some flag
--annotated
to filter them out.Downside of this is that with lightweight tags you don't know date of promotion, author, etc, so
gto history
andgto show myartifact
will have some fields blank.The text was updated successfully, but these errors were encountered: