#2054: buildbot/github post-receive URL timestamp problem
---------------------+-----------------------
Reporter:  mmorse    |       Owner:
    Type:  defect    |      Status:  reopened
Priority:  critical  |   Milestone:  0.8.5
 Version:  0.8.4p1   |  Resolution:
Keywords:  git       |
---------------------+-----------------------

Old description:

> I'm trying to trigger a buildbot run whenever there's a change to a
> github repo. I've added a post-receive URL service hook to the repo, and
> verified that the POST is making it back to my buildmaster. However, an
> exception is raised when that POST is processed:
>
> {{{
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] Attempting to load
> module buildbot.status.web.hooks.github
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] in process_change
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]
> ERROR:root:Encountered an exception:
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]
> ERROR:root:Traceback (most recent call last):
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] ERROR:root:File
> "/Library/Python/2.6/site-packages/buildbot/status/web/hooks/github.py",
> line 100, in getChanges
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]     changes =
> process_change(payload, user, repo, repo_url, project)
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] ERROR:root:File
> "/Library/Python/2.6/site-packages/buildbot/status/web/hooks/github.py",
> line 139, in process_change
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]     when =
> convertTime( commit['timestamp'])
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] ERROR:root:File
> "/Library/Python/2.6/site-packages/buildbot/status/web/hooks/github.py",
> line 63, in convertTime
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]
> result.groups()
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]
> ERROR:root:AttributeError: 'NoneType' object has no attribute 'groups'
> 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] Got the following
> changes None
> }}}
>
> From what I can determine, the problem is that the timestamp coming from
> the github repo looks like this:
>
> {{{
> "timestamp":"2011-07-12T18:32:05Z"
> }}}
>
> ...but module buildbot.status.web.hooks.github is looking for something
> in the format:
>
> {{{
> "timestamp":"1970-01-01T00:00:00+00:00"
> }}}
> Here's the code
> (http://buildbot.net/buildbot/docs/0.8.3/reference/buildbot.status.web.hooks
> .github-pysrc.html):
>
> {{{
> 59 def convertTime(myTestTimestamp):
> 60      #"1970-01-01T00:00:00+00:00"
> 61      matcher =
> re.compile(r'(dddd)-(dd)-(dd)T(dd):(dd):(dd)([-+])(dd):(dd)')
> 62      result  = matcher.match(myTestTimestamp)
> 63      (year, month, day, hour, minute, second, offsetsign, houroffset,
> minoffset) =
> 64          result.groups()
> }}}
>

> Here's the configuration of the build master
> {{{
> System Version: Mac OS X Server 10.6.8 (10K540)
>   Server Configuration: Advanced
>   Kernel Version:       Darwin 10.8.0
>   Boot Volume:  SnowLeopardServer
>   Boot Mode:    Normal
>   Computer Name:        DevPubsContinuousIntegration
>   User Name:    BuildMaster (buildmaster)
>   Secure Virtual Memory:        Not Enabled
>   64-bit Kernel and Extensions: No
>   Time since boot:      1 day6:37
>
> Buildbot version: 0.8.4p1
> Twisted version: 11.0.0
>
> }}}

New description:

 I'm trying to trigger a buildbot run whenever there's a change to a github
 repo. I've added a post-receive URL service hook to the repo, and verified
 that the POST is making it back to my buildmaster. However, an exception
 is raised when that POST is processed:

 {{{
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] Attempting to load
 module buildbot.status.web.hooks.github
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] in process_change
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]
 ERROR:root:Encountered an exception:
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]
 ERROR:root:Traceback (most recent call last):
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] ERROR:root:File
 "/Library/Python/2.6/site-packages/buildbot/status/web/hooks/github.py",
 line 100, in getChanges
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]     changes =
 process_change(payload, user, repo, repo_url, project)
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] ERROR:root:File
 "/Library/Python/2.6/site-packages/buildbot/status/web/hooks/github.py",
 line 139, in process_change
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]     when =
 convertTime( commit['timestamp'])
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] ERROR:root:File
 "/Library/Python/2.6/site-packages/buildbot/status/web/hooks/github.py",
 line 63, in convertTime
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]     result.groups()
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60]
 ERROR:root:AttributeError: 'NoneType' object has no attribute 'groups'
 2011-07-12 11:32:18-0700 [HTTPChannel,0,17.226.192.60] Got the following
 changes None
 }}}

 From what I can determine, the problem is that the timestamp coming from
 the github repo looks like this:

 {{{
 "timestamp":"2011-07-12T18:32:05Z"
 }}}

 ...but module buildbot.status.web.hooks.github is looking for something in
 the format:

 {{{
 "timestamp":"1970-01-01T00:00:00+00:00"
 }}}
 Here's the code
 (http://buildbot.net/buildbot/docs/0.8.3/reference/buildbot.status.web.hooks
 .github-pysrc.html):

 {{{
 59 def convertTime(myTestTimestamp):
 60      #"1970-01-01T00:00:00+00:00"
 61      matcher =
 re.compile(r'(dddd)-(dd)-(dd)T(dd):(dd):(dd)([-+])(dd):(dd)')
 62      result  = matcher.match(myTestTimestamp)
 63      (year, month, day, hour, minute, second, offsetsign, houroffset,
 minoffset) =
 64          result.groups()
 }}}


 Here's the configuration of the build master
 {{{
 System Version: Mac OS X Server 10.6.8 (10K540)
   Server Configuration: Advanced
   Kernel Version:       Darwin 10.8.0
   Boot Volume:  SnowLeopardServer
   Boot Mode:    Normal
   Computer Name:        DevPubsContinuousIntegration
   User Name:    BuildMaster (buildmaster)
   Secure Virtual Memory:        Not Enabled
   64-bit Kernel and Extensions: No
   Time since boot:      1 day6:37

 Buildbot version: 0.8.4p1
 Twisted version: 11.0.0

 }}}

--

Comment (by dustin):

 Any idea what the payload was in that case?

 Newer code uses dateutil's dateparse, which might be more effective.  If
 you can't get a copy of the payload that causes this, then maybe applying
 https://github.com/buildbot/buildbot/commit/30ed6549 would help?

-- 
Ticket URL: <http://trac.buildbot.net/ticket/2054#comment:6>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Buildbot-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/buildbot-commits

Reply via email to