Closed Bug 653437 Opened 13 years ago Closed 13 years ago

Please deploy try_gcc45.py hook

Categories

(mozilla.org Graveyard :: Server Operations, task)

task
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: glandium, Assigned: nmeyerhans)

References

Details

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).
Assignee: server-ops → nmeyerhans
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?
(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.
OK, this hook should be in place now. Give a yell if you see any problems.
Status: NEW → RESOLVED
Closed: 13 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 → ---
wtf, I totally installed that.  Gimme a minute.
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.
Fixed.
Status: REOPENED → RESOLVED
Closed: 13 years ago13 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.
I've disabled the hook. Let me know when there's one that works.
Severity: blocker → normal
Status: REOPENED → RESOLVED
Closed: 13 years ago13 years ago
Resolution: --- → FIXED
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 → ---
*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
Can we get this hook installed?
Done. Please confirm functionality.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago13 years ago
Resolution: --- → FIXED
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.