Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Deprecate Stages and introduce Labels instead #218
Deprecate Stages and introduce Labels instead #218
Changes from 3 commits
90564bd
a981387
5d8cf37
500cfad
62bd630
f79104b
aafbe5f
3e17a5e
badad16
4a32fcf
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just my take since we discussed this: I don't think the long
--last-label-for-version
flag is needed, and the help description for the flag is probably enough to specify that--last
means the last label for the version (not the last version for the label).Also, we use
latest
in other places, so it might be worth considering whetherlast
andlatest
have different meanings (in which case we might want to clarify each), or else use one of those words consistently.Edit: I see
latest
andlast
do have different meanings. Still not sure about the flag name 🤔. Some ideas:--collapse-versions
--current-labels
Not sure those are any better, and it doesn't need to block this PR, but it might be good to get more feedback on it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, they have different meanings. I had an idea of introducing two flags:
gto show --greatest
(sort by semver) andgto show latest
(sort by timestamp) withgreatest
as a default.Re options: Maybe
--last-stage
or--latest-stage
could work?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about
--hide-old-stages
? Anyway, to be clear, it shouldn't block the PR.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aguschin @dberenbaum
Suggestion - How about we use a per-label prefix that will make this specific label behave like a stage?
We would be able to support behaviors in parallel:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That summary of the three different behaviors is great @omesser.
TBH I like the current approach by @aguschin where you can switch between those by choosing how to view the labels rather than having it coded into the tag names. It makes it much easier to play around with the different approaches without being locked into one of them. The only part I don't like is that naming/explaining is not that easy, but I don't think it would be easy no matter what approach we take.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the main downside of having this determined by the "querying"/"viewing" command is that you cannot mix and match. This prevents from using GTO to manage environments if you already use it for kanban-like stages and vice versa.
To put it another way - if I build my workflow and CI to treat gto labels (or specific labels) like kanban-stages, it will never make sense to view those as something else. If I use them as deployment environments - it will never make sense to query them as anything else. querying it the wrong way is only room for error, there is not upside to that flexibility after the label mechanism was decided on assignment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@omesser, I agree with your argument, but I think flexibility is more important currently for us to see what people want. Also, an important question you raised is how this will behave in Studio when a team collaborates. A misunderstanding may appear when different users interpret the labels with different mechanics (e.g. one with free-form labels and one with stages).
On the second point, I don't think I'll be able to implement this before Studio release, and I doubt it will be handy without Studio BE/FE support cause it just won't be shown there. So let's continue to discuss this and gather some users' feedback to see how they want this to work, and then let's implement this in a separate PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like we don't have much choice in the short term. In the medium/long term, separate concepts of "stages" and "environments" seem useful.