Closed Bug 1062620 Opened 12 years ago Closed 11 years ago

hghooks: push_printurls.py should output a Treeherder URL for non-try pushes too

Categories

(Developer Services :: Mercurial: hg.mozilla.org, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: botond, Assigned: emorley)

References

Details

(Keywords: treeherder, Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1219] )

Attachments

(1 file)

After I push to mozilla-inbound, I invariably to two things: 1) Post the link to changeset in hg.mozilla.org to the bug 2) Load the TBPL entry for my push in a new browser tab so I can quickly see if I cause bustage. (1) is made very convenient by the 'hg push' command printing the link to the changeset. For (2), however, I have to manually go to TBPL and find the entry for my push. Usually that's not much effort because it's the first one, but sometimes I forget to do it immediately and then I have to page down on TBPL to find it. It would be nice if the same hook that prints the hg.mozilla.org link also printed the TBPL link, the way it does for Try pushes.
Run |mach mercurial-setup| and install the bzpost extension when prompted to have pushes automatically update bugs. Also s/TBPL/TreeHerder/.
Summary: Print TBPL link for mozilla-inbound pushes → Print TBPL/Treeherder link for mozilla-inbound pushes
(In reply to Gregory Szorc [:gps] (away Sep 10 through 27) from comment #1) > Run |mach mercurial-setup| and install the bzpost extension when prompted to > have pushes automatically update bugs. That sounds nice! However, when I ran |mach mercurial-setup|, it did not say anything about a |bzpost| extension, only |mqext| and |qimportbz|. (Also, it proposed to replace the line |bzexport = $HG_EXTENSIONS/version-control-tools/hgext/bzexport/|in my ~/.hgrc, which I wrote that way for a reason (so I can reuse the ~/.hgrc file, which I keep under version control, on different machines by suitably defining the |HG_EXTENSIONS| environment variable on each machine), with |/home/botond/.mozbuild/version-control-tools/hgext/bzexport|).
(In reply to Botond Ballo [:botond] from comment #2) > (In reply to Gregory Szorc [:gps] (away Sep 10 through 27) from comment #1) > > Run |mach mercurial-setup| and install the bzpost extension when prompted to > > have pushes automatically update bugs. > > That sounds nice! However, when I ran |mach mercurial-setup|, it did not say > anything about a |bzpost| extension, only |mqext| and |qimportbz|. OK, upgrading my mercurial from 2.7 to 3.1 solved that problem. It now proposes |bzpost|, |reviewboard| and |firefoxtree|. However, I'm having issues using any of them (I filed bug 1062653 for this).
Product: Release Engineering → Developer Services
is there anything left to do here? Sounds like a good first bug if there is something.
Flags: needinfo?(gps)
(In reply to Hal Wine [:hwine] (use needinfo) from comment #4) > is there anything left to do here? Sounds like a good first bug if there is > something. Yeah. Comments 1-3 were a bit of a tangent about how to better accomplish task (1) from comment 0. This bug is about printing a link after an m-i push to make task (2) easier.
Flags: needinfo?(gps)
I think the request is for the push commit urls hook to print the treeherder URL in addition to the commit URLs. That's easy enough to change and would make a good first bug. FWIW, I want to get "pushes automatically update Bugzilla" as a server-side component and on the Developer Services goals list. Probably Q1.
https://hg.mozilla.org/hgcustom/version-control-tools/file/default/hghooks/mozhghooks/push_printurls.py is the file that needs updating. https://hg.mozilla.org/hgcustom/version-control-tools/file/default/hghooks/tests/test-push_printurls.t are the tests. See the README in that repo for instructions on how to run the tests. Will require Linux or OS X or Vagrant running Linux from Windows.
Summary: Print TBPL/Treeherder link for mozilla-inbound pushes → hghooks: push_printurls.py should output a Treeherder URL for non-try pushes too
We'll need to split out the repo groups in push_printurls.py, and only output the treeherder link for gecko/comm-central repos that are active in buildbot. As an added bonus, we should probably add support for linking other categories to their CI (eg releng repos to releng jenkins, version-control-tools to http://ci.mozilla.org etc).
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/76]
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/76] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1208] [kanban:engops:https://kanbanize.com/ctrl_board/6/76]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1208] [kanban:engops:https://kanbanize.com/ctrl_board/6/76] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1214] [kanban:engops:https://kanbanize.com/ctrl_board/6/76]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1214] [kanban:engops:https://kanbanize.com/ctrl_board/6/76] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1217] [kanban:engops:https://kanbanize.com/ctrl_board/6/76]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1217] [kanban:engops:https://kanbanize.com/ctrl_board/6/76] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1219] [kanban:engops:https://kanbanize.com/ctrl_board/6/76]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1219] [kanban:engops:https://kanbanize.com/ctrl_board/6/76] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1219]
See Also: → 1096917
Assignee: nobody → emorley
Applies on top of the patch for bug 1072162. Passes tests locally.
Attachment #8546303 - Flags: review?(gps)
Status: NEW → ASSIGNED
Comment on attachment 8546303 [details] [diff] [review] hghooks: output a Treeherder URL for non-try pushes too Review of attachment 8546303 [details] [diff] [review]: ----------------------------------------------------------------- Nice! FWIW I got a patch in Mercurial 3.4 that will make it easier for us to insert Treeherder URLs on all the hg.mozilla.org web pages. Stay tuned. ::: hghooks/mozhghooks/push_printurls.py @@ +80,5 @@ > 'tools': 'build/tools/', > 'twisted': 'build/twisted/', > +} > + > +hgNameToRevURL = dict(TREEHERDER_REPOS.items() + OTHER_REPOS.items()) I'm not sure what to think of this from a style perspective. But I don't care enough to let it impact the review. It's pretty obvious what's going on.
Attachment #8546303 - Flags: review?(gps) → review+
Err, Mercurial 3.3.
(In reply to Gregory Szorc [:gps] from comment #10) > ::: hghooks/mozhghooks/push_printurls.py > @@ +80,5 @@ > > 'tools': 'build/tools/', > > 'twisted': 'build/twisted/', > > +} > > + > > +hgNameToRevURL = dict(TREEHERDER_REPOS.items() + OTHER_REPOS.items()) > > I'm not sure what to think of this from a style perspective. But I don't > care enough to let it impact the review. It's pretty obvious what's going on. Agree, I wasn't keen on it either. Do you prefer this? hgNameToRevURL = TREEHERDER_REPOS hgNameToRevURL.update(OTHER_REPOS)
Python dicts are assigned by reference. You need a dict(old_dict) in there to create a new dict. hgNameToRevURL = dict(TREEHERDER_REPOS) hgNameToRevURL.update(OTHER_REPOS)
Keywords: treeherder
Depends on: 1136247
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: