[shipping] remove Milestone in views and db

RESOLVED FIXED

Status

Webtools
Elmo
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: Pike, Assigned: Pike)

Tracking

Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
We're going to drop the use of in-elmo Milestones, filing a bug to remove the code, views, datamodel, db tables.
(Assignee)

Comment 1

2 years ago
Looping in Sylvestre and Rail. The intent here is to remove most of the code we used to use for shipping Firefox, and only leave l10n-changsets?av= and json-changesets?av=. I.e., drop the ms= query option.

Rail, as we talked about dropping shipped-locales alltogether in bug 1288441, do we currently reference the export from elmo anywhere?

If not, that'd be another piece of code I could remove from elmo.
Flags: needinfo?(rail)
(In reply to Axel Hecht [:Pike] from comment #0)
> We're going to drop the use of in-elmo Milestones, filing a bug to remove
> the code, views, datamodel, db tables.

Can you elaborate on this? Does this mean that there will be only "latest" changesets per branch?

(In reply to Axel Hecht [:Pike] from comment #1)
> Looping in Sylvestre and Rail. The intent here is to remove most of the code
> we used to use for shipping Firefox, and only leave l10n-changsets?av= and
> json-changesets?av=. I.e., drop the ms= query option.

Sounds like we need to kill one of the release sanity checks in this case: https://dxr.mozilla.org/build-central/source/tools/buildbot-helpers/release_sanity.py#171

> Rail, as we talked about dropping shipped-locales alltogether in bug
> 1288441, do we currently reference the export from elmo anywhere?

I don't think so. The only reference to elmo I know is that sanity check.

> If not, that'd be another piece of code I could remove from elmo.

\o/
Flags: needinfo?(rail)
(In reply to Rail Aliiev [:rail] from comment #2)
> Can you elaborate on this? Does this mean that there will be only "latest"
> changesets per branch?

Yes, the idea is that Elmo returns only the current sign-off for an appversion.

That would drop the need for release management to create milestones in Elmo, they would exist only in ship-it.
@Sylvestre

I wonder if this bug in Elmo (dropping completely milestones) can be moved ahead without waiting for ship-it to read the JSON directly. Axel will correct me if I write silly things.

As far as I can tell, right now you're copying changesets from these URL (e.g. for 48 build10) by hand.

Firefox: https://l10n.mozilla.org/shipping/l10n-changesets?ms=fx48_beta_b10

Fennec: https://l10n.mozilla.org/shipping/json-changesets?ms=fennec48_beta_b10&platforms=android&multi_android-multilocale_repo=releases%2Fmozilla-beta&multi_android-multilocale_rev=default&multi_android-multilocale_path=mobile%2Fandroid%2Flocales%2Fmaemo-locales

These URLs relying on milestones (ms) could be replaced by URLs using just app versions (av).

Firefox: https://l10n.mozilla.org/shipping/l10n-changesets?av=fx48

Fennec: https://l10n.mozilla.org/shipping/json-changesets?av=fennec48&platforms=android&multi_android-multilocale_repo=releases%2Fmozilla-beta&multi_android-multilocale_rev=default&multi_android-multilocale_path=mobile%2Fandroid%2Flocales%2Fmaemo-locales

And if you want a flat list of changesets for Fennec
https://l10n.mozilla.org/shipping/l10n-changesets?av=fennec48
Flags: needinfo?(sledru)
(Assignee)

Comment 5

2 years ago
Created attachment 8775969 [details]
WIP Drivers view

A bit of context:

I'm pretty far in the patch for this bug, i.e., the removal is pretty ready to land.

 28 files changed, 112 insertions(+), 1550 deletions(-)

1.5k lines less code in elmo, that's nice, thus I'm all for landing this.

I'm now in step two of my patch queue, which adds a page that's focused on drivers on l10n and relman.

Attached a screenshot of how that looks so far.

That has the apps, the version, the things like "fx_aurora" link to https://l10n.mozilla.org/dashboard/tree-status/fx_aurora.

And the appversion codes link to av=fx48 etc l10n-changesets, and, hard-coded for fennec, json-changesets, with the values set up for beta android and multi-locale. Same values that the about-milestones view gives as default now.

So the idea is that instead of milestone-dancing, you'd just go to this one page, go to the link, copy and paste. No buttons.

But effectively the same data you get today.

The urls are good to also integrate into ship-it, I just checked, they already come with CORS headers.
Assignee: nobody → l10n
Status: NEW → ASSIGNED
Flod, not sure to understand what is your question. Yes, we are doing some copy and paste.
Flags: needinfo?(sledru)
(In reply to Sylvestre Ledru [:sylvestre] from comment #6)
> Flod, not sure to understand what is your question. Yes, we are doing some
> copy and paste.

The long term plan is for ship-it to import changesets from elmo's API: I'm building Firefox 48 (any milestone), I query the API for av=fx48 and get the changesets. No copy and paste. Also no more creating milestones in elmo, they'll exist only in ship-it.

Right now, according to https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Starting_a_Release#L10N_Changesets you go to https://l10n.mozilla.org/shipping/about-milestone/fennec48_beta_b10 (or https://l10n.mozilla.org/shipping/about-milestone/fx48_beta_b10) and use Shipping tools to get the changesets. These links currently use milestones.

I guess the question is actually answered by Pike's link above: we'll have a different view, and it will still have links to the information you need using appversions instead of milestones. So you can keep using copy and paste while ship-it is updated, just need to update the documentation on where to find that information.

In the end, I think Release Management is interested in having a list of changesets to ship the build, coming from a milestone or an app version is not really relevant.
OK, look good. Can we wait a bit before the deployment of the change? I would like to use the "old" system to build 49.0 beta 1. We can plan to shutdown of the previous method after.
(Assignee)

Comment 9

2 years ago
(In reply to Rail Aliiev [:rail] from comment #2)
> 
> (In reply to Axel Hecht [:Pike] from comment #1)
> > Looping in Sylvestre and Rail. The intent here is to remove most of the code
> > we used to use for shipping Firefox, and only leave l10n-changsets?av= and
> > json-changesets?av=. I.e., drop the ms= query option.
> 
> Sounds like we need to kill one of the release sanity checks in this case:
> https://dxr.mozilla.org/build-central/source/tools/buildbot-helpers/
> release_sanity.py#171

Filed bug 1290477 on doing so.


(In reply to Sylvestre Ledru [:sylvestre] from comment #8)
> OK, look good. Can we wait a bit before the deployment of the change? I
> would like to use the "old" system to build 49.0 beta 1. We can plan to
> shutdown of the previous method after.

Yes, I've also reordered my patch queue, so that we can have the new UI available before removing the old one.

Using the new UI will not generate milestones, so we need to make sure that we're not triggering the validation against the dashboard if we use it.
Depends on: 1290477

Comment 11

2 years ago
Commit pushed to develop at https://github.com/mozilla/elmo

https://github.com/mozilla/elmo/commit/bf3d42252702ddeaa4c93fbbf271209b87fda128
bug 1289400, remove code/test/views using Milestones.

Not in this patch:
The actual migration to remove the data.

Comment 12

2 years ago
Commit pushed to develop at https://github.com/mozilla/elmo

https://github.com/mozilla/elmo/commit/e885719183449f0e9c19acebfdd29e6ab15ba006
bug 1289400, remove data models from database for Milestone and Events
(Assignee)

Comment 13

2 years ago
Data removed on prod and stage.
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.