Please deploy try_gcc45.py hook

VERIFIED FIXED

Status

VERIFIED FIXED
8 years ago
4 years ago

People

(Reporter: glandium, Assigned: nmeyerhans)

Tracking

Details

(Reporter)

Description

8 years ago
I landed the hook here:
http://hg.mozilla.org/hgcustom/hghooks/rev/2b48ff549ea9

It's necessary to display a warning about possible problems on Linux with old trees/branches pushed to try from now on.

It requires the argparse python library, which I don't know if it's installed on the mercurial server (I know it is at least on some other servers).

Updated

8 years ago
Assignee: server-ops → nmeyerhans
(Assignee)

Comment 1

8 years ago
Hi Mike.  What stage of the commit process should run this hook?  Should this be commit or precommit or something else?

And to be clear, this is only to run on the 'try' repository, correct?
(Reporter)

Comment 2

8 years ago
(In reply to comment #1)
> Hi Mike.  What stage of the commit process should run this hook?  Should this
> be commit or precommit or something else?

pretxnchangegroup.

> And to be clear, this is only to run on the 'try' repository, correct?

Yes. Though the hook itself has a filter that will make it only work on the 'try' repository, so it could be enabled anywhere if that's easier.
(Assignee)

Comment 3

8 years ago
OK, this hook should be in place now. Give a yell if you see any problems.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
Having trouble pushing to try, now:

$ hg push -f try
...
remote: error: pretxnchangegroup.b_try_gcc45 hook raised an exception: No module named argparse
remote: transaction abort!
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Assignee)

Comment 5

8 years ago
wtf, I totally installed that.  Gimme a minute.
(Assignee)

Comment 6

8 years ago
Please try your push again.

/me resumes cursing our hg infra...
Sorry, still failed:

irk:/z/mozilla $ hg push -f try
running ssh cmccormack@mozilla.com@hg.mozilla.org "hg -R try/ serve --stdio"
pushing to ssh://cmccormack@mozilla.com@hg.mozilla.org/try/
searching for changes
6 changesets found                                                              
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 6 changesets with 4 changes to 8 files (+1 heads)
remote: error: pretxnchangegroup.b_try_gcc45 hook raised an exception: No module named argparse
remote: transaction abort!
remote: rollback completed
remote: abort: No module named argparse!
abort: unexpected response: empty string
I also see the exact same error when pushing to Try. I successfully pushed to Try just 3 hours ago, but now I cannot.
(Assignee)

Comment 9

8 years ago
Fixed.
Status: REOPENED → RESOLVED
Last Resolved: 8 years ago8 years ago
Resolution: --- → FIXED
Close, but no cigar:

pushing to ssh://hg.mozilla.org/try/
searching for changes
remote: adding changesets                                                                           
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 2 changes to 2 files (+1 heads)
remote: error: pretxnchangegroup.b_try_gcc45 hook raised an exception: global name 'any' is not defined
remote: transaction abort!
remote: rollback completed
remote: ** unknown exception encountered, details follow
remote: ** report bug details to http://mercurial.selenic.com/bts/
remote: ** or mercurial@selenic.com
remote: ** Python 2.4.3 (#1, Jun 11 2009, 14:09:58) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)]
remote: ** Mercurial Distributed SCM (version 1.5.4)
remote: ** Extensions loaded: hgwebjson, pushlog-feed, buglink
remote: Traceback (most recent call last):
remote:   File "/usr/bin/hg", line 27, in ?
remote:     mercurial.dispatch.run()
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 16, in run
remote:     sys.exit(dispatch(sys.argv[1:]))
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 30, in dispatch
remote:     return _runcatch(u, args)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 50, in _runcatch
remote:     return _dispatch(ui, args)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 471, in _dispatch
remote:     return runcommand(lui, repo, cmd, fullargs, ui, options, d)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 341, in runcommand
remote:     ret = _runcommand(ui, options, cmd, d)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 522, in _runcommand
remote:     return checkargs()
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 476, in checkargs
remote:     return cmdfunc()
remote:   File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 470, in <lambda>
remote:     d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 401, in check
remote:     return func(*args, **kwargs)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 2904, in serve
remote:     s.serve_forever()
remote:   File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 45, in serve_forever
remote:     while self.serve_one():
remote:   File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 57, in serve_one
remote:     impl()
remote:   File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 208, in do_unbundle
remote:     r = self.repo.addchangegroup(fp, 'serve', self.client_url())
remote:   File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 2120, in addchangegroup
remote:     url=url, pending=p)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 152, in hook
remote:     return hook.hook(self.ui, self, name, throw, **args)
remote:   File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 142, in hook
remote:     r = _pythonhook(ui, repo, name, hname, hookfn, args, throw) or r
remote:   File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 68, in _pythonhook
remote:     r = obj(ui=ui, repo=repo, hooktype=name, **args)
remote:   File "/usr/lib/python2.4/site-packages/mozhghooks/try_gcc45.py", line 69, in hook
remote:     if options.do_everything or any(p in options.user_platforms for p in ['all', 'linux', 'linux64']):
remote: NameError: global name 'any' is not defined
abort: unexpected response: empty string
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Try being down is a blocker level severity.
Severity: normal → blocker
Could we just turn this hook off for now?
And if that means backing out the hook because it's not compatible with Python X that's fine too.
(Assignee)

Comment 14

8 years ago
I've disabled the hook. Let me know when there's one that works.
Severity: blocker → normal
Status: REOPENED → RESOLVED
Last Resolved: 8 years ago8 years ago
Resolution: --- → FIXED
(Reporter)

Comment 15

8 years ago
This version should work on python 2.4 (I didn't think the mercurial server was not even using python 2.5...)
http://hg.mozilla.org/hgcustom/hghooks/file/01042c8ddb20/mozhghooks/try_gcc45.py
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Assignee)

Comment 16

8 years ago
*sigh* yeah, hg is all run on RHEL 5.

I'm about to go offline for the night, so I don't want to potentially break the try repo right now. I'll install your fix tomorrow.
Status: REOPENED → ASSIGNED
(Reporter)

Comment 17

8 years ago
Can we get this hook installed?
(Assignee)

Comment 18

8 years ago
Done. Please confirm functionality.
(Assignee)

Updated

8 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 8 years ago8 years ago
Resolution: --- → FIXED
(Reporter)

Comment 19

8 years ago
It works. Thanks.
Status: RESOLVED → VERIFIED
Product: mozilla.org → mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.