Automatic retrieval in ship-it of the last green changeset from tbpl



5 years ago
2 years ago


(Reporter: sylvestre, Unassigned)


Firefox Tracking Flags

(Not tracked)


(Whiteboard: [shipit])



5 years ago
To avoid many steps, we would like to add an autofill (but still editable) of the changeset field in ship-it.

I am not sure if TBPL provides an API or if we would have to parse the output of the page.

Comment 1

5 years ago
Rail, Ben: I haven't started to work on this. Any advice would be welcome!
Not sure about TBPL, but we could use a combination of querying hg and buildapi. You can query buildapi and ask whether a particular changeset is ready, like this one:
I strongly advise not parsing the output of the page. It will break, repeatedly and often. BuildAPI sounds promising, though you probably need to know more than "is done".

This also sounds like something that would probably be best done on the client side. Eg, maybe it should happen after you select the branch you want.
with the is_done endpoint you get "job passed": false with the one rail linked to, and you'd get true if it was "all green".

Comment 5

5 years ago
Justin, you confirm that the API does not provide a way to request for "the last green build"?
Flags: needinfo?(bugspam.Callek)
I'm not aware of any method to do that in a single API call, you can likely automate it by traversing recent pushes and querying buildapi for "is done" and then "is successful" or such.

Ping the team in #releng or via e-mail for a more general answer/brainstorm.
Flags: needinfo?(bugspam.Callek)

Comment 7

5 years ago
OK. The thing is that this should be done on the client side... So, our capability to play with the mercurial repository is limited...
Mass component change for ship it bugs.
Component: Release Automation → Ship It

Comment 9

2 years ago
Is this bug still needed?
Sylvestre, by changeset field, do you mean the "Mozilla Revision" field?
Flags: needinfo?(sledru)

Comment 10

2 years ago
We are now retrieving the latest changeset but we are not making a check that it is green. 
For now, I don't think we are capable to get a boolean "is ready?".
Maybe Johan knows more
Flags: needinfo?(sledru) → needinfo?(jlorenzo)
I'm sorry, this bug doesn't have any action we can do as of today. Thank you very much for digging it out Allan :D

Like Sylvestre mentioned, the latest changeset is now fetched since bug 1146853 landed. We also don't need to wait until builds are done, since bug 1288573.

We could make sure every test job is green, by calling the API endpoint called out in comment 2. However, due to intermittent failures, "job_passed" is rarely true. See [1] for instance. This is usually not a problem with the builds, but more with the tests. Sylvestre told me on IRC, this is being worked on, but it will take time.

I suggest we close this bug as WONTFIX. The solution given by bug 1146853 and bug 1288573 is currently good enough for our needs, IMO. If you disagree or would like to revisit the implementation details discussed above, please reopen the bug :) 

Allan, in case you don't know, here's a dashboard where you can find more release-oriented bugs:

Closed: 2 years ago
Depends on: 1146853, 1288573
Flags: needinfo?(jlorenzo)
Resolution: --- → WONTFIX

Comment 12

2 years ago
Thanks for sharing the Dashboard Johan!
I had looking for resources to better understand the Mozilla RelEng workflow and I think that "Extra information for Release Engineering" will help-me.
I want contribute more on my free times (normally weekends). If there is some "more expected" bug, I can try help. I contributed with python code so far, but I can learn other things.
You need to log in before you can comment on or make changes to this bug.