Stream: t-compiler/major changes

Topic: Embed version numbers in GH labels compiler-team#393


lqd (Dec 28 2020 at 16:01, on Zulip):

Manually creating the zulip thread as the bot is on strike. New MCP by @pnkfelix: "Embed version numbers in backport nominations and regression labels"

simulacrum (Dec 28 2020 at 16:02, on Zulip):

yeah working on bot

lqd (Dec 28 2020 at 16:02, on Zulip):

don't worry about it, I'm french I'm used to the strikes :upside_down:

simulacrum (Dec 28 2020 at 16:02, on Zulip):

I am in favor of this, fwiw, I would like to figure out if we can get away with not having the beta/nightly labels at all

pnkfelix (Dec 28 2020 at 16:03, on Zulip):

simulacrum said:

I am in favor of this, fwiw, I would like to figure out if we can get away with not having the beta/nightly labels at all

beyond what is in the proposal, you mean?

pnkfelix (Dec 28 2020 at 16:04, on Zulip):

Hmm, I didn't actually write an example of what the new version numbers would look like, so the intended outcome here (as to whether the words "beta" or "nightly" would be in the new labels) was ambiguous at best.

simulacrum (Dec 28 2020 at 16:04, on Zulip):

yeah

simulacrum (Dec 28 2020 at 16:04, on Zulip):

I think something like regression-in-1.x is what I would prefer

simulacrum (Dec 28 2020 at 16:05, on Zulip):

or perhaps from-stable-to-1.x, but just in-1.x seems best (e.g. if the regression is beta-to-nightly which I guess we just call stable to nightly right now)

simulacrum (Dec 28 2020 at 16:05, on Zulip):

and nominated-for-1.x

simulacrum (Dec 28 2020 at 16:05, on Zulip):

the downside is that you need to reference forge.rust-lang.org to know how urgent things are

pnkfelix (Dec 28 2020 at 16:06, on Zulip):

I added some text to the first paragraph to clarify my intent

lqd (Dec 28 2020 at 16:07, on Zulip):

could we use in-1.x and the bot would mark it nightly/beta and update the label along the release cycle ?

simulacrum (Dec 28 2020 at 16:07, on Zulip):

We can definitely automate creating labels, and the advantage of this scheme is that there is no need to retire them I think, there's no "label limit"

simulacrum (Dec 28 2020 at 16:07, on Zulip):

I think having both is going to end up confusing and people will (by mistake) add the wrong one

pnkfelix (Dec 28 2020 at 16:07, on Zulip):

well there may be a label limit in terms of the UX for people who use the web interface

simulacrum (Dec 28 2020 at 16:07, on Zulip):

what you sort of want is github to have "label views"

pnkfelix (Dec 28 2020 at 16:08, on Zulip):

i.e. we don't want old labels cluttering the list when people are trying to scan the labels for what they want to write

simulacrum (Dec 28 2020 at 16:08, on Zulip):

it should be relatively straightforward to retire them if needed

pnkfelix (Dec 28 2020 at 16:08, on Zulip):

is it possible that this meta-data ... just shouldn't be represented as a label at all?

simulacrum (Dec 28 2020 at 16:09, on Zulip):

What's the alternative?

lqd (Dec 28 2020 at 16:09, on Zulip):

what do you mean both ? like having regression-in-1.50-nightly and regression-in-1.50-beta ?

pnkfelix (Dec 28 2020 at 16:09, on Zulip):

I don't know, I was thinking first line of description. But the reality is that we probably do want labels because they show up in other contexts, namely issue lists

simulacrum (Dec 28 2020 at 16:09, on Zulip):

I assumed you meant we would have regression-in-1.50 regression-from-stable-to-beta at the same time by "both"

Léo Lanteri Thauvin (Dec 28 2020 at 16:09, on Zulip):

(cc @WG-prioritization who might be interested)

simulacrum (Dec 28 2020 at 16:10, on Zulip):

yeah it must be searchable

pnkfelix (Dec 28 2020 at 16:10, on Zulip):

lqd said:

could we use in-1.x and the bot would mark it nightly/beta and update the label along the release cycle ?

this is what I think @simulacrum meant by "having both"

simulacrum (Dec 28 2020 at 16:10, on Zulip):

that's table stakes :)

pnkfelix (Dec 28 2020 at 16:10, on Zulip):

but its possible that the current system is still "right" for searches

pnkfelix (Dec 28 2020 at 16:10, on Zulip):

and that the thing with embedded version numbers would go in description

lqd (Dec 28 2020 at 16:10, on Zulip):

ah no I was imagining people could generally use nightly or the version to add the tag, but the bot would rename them from 1.50-nightly to 1.50-beta along the release cycle is what I meant

pnkfelix (Dec 28 2020 at 16:10, on Zulip):

and a bot would maintain the labels

Joshua Nelson (Dec 28 2020 at 16:11, on Zulip):

we could have a tiny script to generate the searches

Joshua Nelson (Dec 28 2020 at 16:11, on Zulip):

you say "I want to search beta" and it generates the 1.49 label search

lqd (Dec 28 2020 at 16:11, on Zulip):

i.e there's only one versioned tag (and the bot updates whether that tag is nightly/beta/stable)

simulacrum (Dec 28 2020 at 16:12, on Zulip):

I think we could autorename labels and have both current channel and a version number in them

simulacrum (Dec 28 2020 at 16:12, on Zulip):

that seems not too hard, I guess

pnkfelix (Dec 28 2020 at 16:13, on Zulip):

simulacrum said:

what you sort of want is github to have "label views"

Is your idea here, @simulacrum , that the web interface would should only a subset of the full set of labels that are actually available to select?

simulacrum (Dec 28 2020 at 16:14, on Zulip):

sort of

pnkfelix (Dec 28 2020 at 16:14, on Zulip):

also: are we missing an opportunity here to use the milestone github feature for this?

simulacrum (Dec 28 2020 at 16:14, on Zulip):

I am thinking basically that what you mostly want is that you can always say "beta" and that is stored as a version number, I guess

simulacrum (Dec 28 2020 at 16:15, on Zulip):

I like milestones - I add them today - and maybe they are better. the disadvantage is you can only have one per issue

pnkfelix (Dec 28 2020 at 16:15, on Zulip):

pnkfelix said:

also: are we missing an opportunity here to use the milestone github feature for this?

(I guess that would only handle the backports, not the regression tagging. Or maybe we could abuse it for regression tagging.)

Léo Lanteri Thauvin (Dec 28 2020 at 16:15, on Zulip):

I think it makes a lot of sense for backports

Joshua Nelson (Dec 28 2020 at 16:16, on Zulip):

what if you want to backport to both beta and stable?

pnkfelix (Dec 28 2020 at 16:16, on Zulip):

simulacrum said:

I am thinking basically that what you mostly want is that you can always say "beta" and that is stored as a version number, I guess

I see, so that at any time, the set of available labels would have only one version associated with labels that have the word "beta" in them, and so someone using the web UX would be able to type "beta" and the right subset of labels would come up in the prompt.

simulacrum (Dec 28 2020 at 16:16, on Zulip):

backport tracking on PRs doesn't make sense to use milestones for I think

simulacrum (Dec 28 2020 at 16:17, on Zulip):

(or then we need to stop attaching milestones for all PRs)

simulacrum (Dec 28 2020 at 16:17, on Zulip):

but tracking regressions via milestones as a "must be fixed when X hits stable" makes sense

Joshua Nelson (Dec 28 2020 at 16:17, on Zulip):

there could be a '1.50 backports' milestone maybe

pnkfelix (Dec 28 2020 at 16:17, on Zulip):

Joshua Nelson said:

what if you want to backport to both beta and stable?

The MCP text says that we would keep the current stable labels. I didn't really elaborate why, but my thinking was that once a problem is in stable, its not really something where its too useful to track the version any more (apart from knowing if its become ancient).

simulacrum (Dec 28 2020 at 16:17, on Zulip):

no milestones don't make sense for backports, there's too many states

simulacrum (Dec 28 2020 at 16:18, on Zulip):

backports have multiple targets (beta/stable), and go through at least 3 groups of people: proposer, team decision, backporter

simulacrum (Dec 28 2020 at 16:18, on Zulip):

but for regression tracking I think they're probably the best tool

Léo Lanteri Thauvin (Dec 28 2020 at 16:20, on Zulip):

simulacrum said:

but tracking regressions via milestones as a "must be fixed when X hits stable" makes sense

Ah, right, for whatever reason I thought they would be used to track the version which introduced the regression

simulacrum (Dec 28 2020 at 16:20, on Zulip):

that's... the same?

pnkfelix (Dec 28 2020 at 16:20, on Zulip):

Joshua Nelson said:

what if you want to backport to both beta and stable?

(oh, I see, this was perhaps in response to my musing about using milestones for backports. but yes, i think @simulacrum is right; it would work at most for beta backports alone, and that doesn't seem like a win.)

Léo Lanteri Thauvin (Dec 28 2020 at 16:20, on Zulip):

I mean, for stable regressions

simulacrum (Dec 28 2020 at 16:21, on Zulip):

you mean stable-to-stable?

simulacrum (Dec 28 2020 at 16:21, on Zulip):

I agree with @pnkfelix that tracking the version in metadata is not super useful

pnkfelix (Dec 28 2020 at 16:21, on Zulip):

I'm going to add a footnote about that to the text (basically the same thing I wrote above).

pnkfelix (Dec 28 2020 at 16:23, on Zulip):

Another option would be to using version numbers just for the beta tags

simulacrum (Dec 28 2020 at 16:23, on Zulip):

I think my proposal would be to note change both beta noms and regression labels in one go

Léo Lanteri Thauvin (Dec 28 2020 at 16:23, on Zulip):

The labels regression-from-stable-to-stable, stable-nominated, and stable-accepted would remain unchanged.

I'm blind, didn't see that line :(
Sorry for the noise...

simulacrum (Dec 28 2020 at 16:23, on Zulip):

I'd change just non-stable regressions to be milestones

pnkfelix (Dec 28 2020 at 16:24, on Zulip):

(so that the main effective difference would be that the labels with "beta" in them now have this extra bit of supposedly redundant information)

pnkfelix (Dec 28 2020 at 16:25, on Zulip):

simulacrum said:

I'd change just non-stable regressions to be milestones

hmm, and leave the whole beta-nom system as is for now?

simulacrum (Dec 28 2020 at 16:25, on Zulip):

well, it feels orthogonal

simulacrum (Dec 28 2020 at 16:25, on Zulip):

I feel like milestones are an easy sell

simulacrum (Dec 28 2020 at 16:25, on Zulip):

I'd like to figure out if nominated-for-1.x is clear enough

pnkfelix (Dec 28 2020 at 16:25, on Zulip):

If we're going to adopt milestones at all, then it does seem like it would be good to do it directly, rather than first adopting some new embedded-version-in-label scheme

simulacrum (Dec 28 2020 at 16:27, on Zulip):

note that triagebot already creates milestones as soon as a PR lands with that version, so it's really just a matter of starting to use them

simulacrum (Dec 28 2020 at 16:27, on Zulip):

I guess we would have a generic "regression" label

simulacrum (Dec 28 2020 at 16:28, on Zulip):

so e.g. a bug hitting stable on thursday would be tagged regression and milestoned at 1.49

pnkfelix (Dec 28 2020 at 16:28, on Zulip):

mmm, I would worry about people not knowing that "regression" is more urgent than "regression-from-stable-to-stable"

pnkfelix (Dec 28 2020 at 16:28, on Zulip):

but I guess associated urgency has to be taught in any case

pnkfelix (Dec 28 2020 at 16:30, on Zulip):

@simulacrum do you think using the milestone system in the way you describe is going to make triaging/review any easier?

simulacrum (Dec 28 2020 at 16:30, on Zulip):

absolutely

simulacrum (Dec 28 2020 at 16:31, on Zulip):

regression-from-stable-to-beta today is a mess

simulacrum (Dec 28 2020 at 16:31, on Zulip):

I routinely find from-stable-to-nightly that are like 6 months old (i.e. clearly not nightly anymore) or should be tagged with -to-beta

simulacrum (Dec 28 2020 at 16:31, on Zulip):

I am very worried we're missing things every release as a result

simulacrum (Dec 28 2020 at 16:32, on Zulip):

I don't know that saying they are regressions is useful

simulacrum (Dec 28 2020 at 16:32, on Zulip):

I don't think we use milestones for anything other than regressions so there's not really a need to add that

Camelid (Dec 28 2020 at 19:40, on Zulip):

I kind of feel like the best approach could be to have a regression-from-stable-to-v1.50-nightly label that's automatically renamed to regression-from-stable-to-v1.50-beta and then deleted and relabeled as regression-from-stable-to-stable by triagebot. (I think I saw someone mention something like that earlier in the thread.)

Camelid (Dec 28 2020 at 19:41, on Zulip):

Then we never have to worry about, e.g., regression-from-stable-to-betas that are super old and now on stable.

Camelid (Dec 28 2020 at 19:42, on Zulip):

So at any time we'd have these regression labels:

simulacrum (Dec 28 2020 at 19:51, on Zulip):

I don't think that gives us any major advantage over the milestone approach personally

simulacrum (Dec 28 2020 at 19:52, on Zulip):

and is a lot more work

simulacrum (Dec 28 2020 at 19:52, on Zulip):

(i.e. we need to develop that renaming to work well, during release week there are 2 different betas)

apiraino (Apr 14 2021 at 11:14, on Zulip):

mcp closed for inactivity

Last update: May 07 2021 at 06:30UTC