Back to every-builder-is-a-single-repo in the results dir
This commit is contained in:
parent
fdc550402a
commit
4cad8f6517
1 changed files with 40 additions and 2 deletions
|
@ -4,7 +4,7 @@ from buildbot.status.builder import SUCCESS, WARNINGS, FAILURE, EXCEPTION
|
||||||
from buildbot.steps.shell import ShellCommand
|
from buildbot.steps.shell import ShellCommand
|
||||||
from sumfiles import get_web_base
|
from sumfiles import get_web_base
|
||||||
import os.path
|
import os.path
|
||||||
import git
|
from datetime import datetime
|
||||||
|
|
||||||
class SaveGDBResults (ShellCommand):
|
class SaveGDBResults (ShellCommand):
|
||||||
name = 'save build results'
|
name = 'save build results'
|
||||||
|
@ -15,13 +15,14 @@ class SaveGDBResults (ShellCommand):
|
||||||
def __init__ (self, **kwargs):
|
def __init__ (self, **kwargs):
|
||||||
ShellCommand.__init__ (self, **kwargs)
|
ShellCommand.__init__ (self, **kwargs)
|
||||||
|
|
||||||
def evaluateCommand (self, cmd):
|
def _evaluateCommand_builder_branch (self, cmd):
|
||||||
rev = self.getProperty ('got_revision')
|
rev = self.getProperty ('got_revision')
|
||||||
builder = self.getProperty ('buildername')
|
builder = self.getProperty ('buildername')
|
||||||
istry = self.getProperty ('isTryBuilder')
|
istry = self.getProperty ('isTryBuilder')
|
||||||
branch = self.getProperty ('branch')
|
branch = self.getProperty ('branch')
|
||||||
repodir = get_web_base ()
|
repodir = get_web_base ()
|
||||||
builder_dir = os.path.join (repodir, builder)
|
builder_dir = os.path.join (repodir, builder)
|
||||||
|
# TODO: Include timestamp in the tag name?
|
||||||
full_tag = "%s-%s" % (builder, rev)
|
full_tag = "%s-%s" % (builder, rev)
|
||||||
|
|
||||||
if branch is None:
|
if branch is None:
|
||||||
|
@ -56,3 +57,40 @@ class SaveGDBResults (ShellCommand):
|
||||||
repo.index.write ()
|
repo.index.write ()
|
||||||
repo.create_tag (full_tag)
|
repo.create_tag (full_tag)
|
||||||
return SUCCESS
|
return SUCCESS
|
||||||
|
|
||||||
|
def _evaluateCommand_single_repo (self, cmd):
|
||||||
|
rev = self.getProperty ('got_revision')
|
||||||
|
builder = self.getProperty ('buildername')
|
||||||
|
istry = self.getProperty ('isTryBuilder')
|
||||||
|
branch = self.getProperty ('branch')
|
||||||
|
repodir = os.path.join (get_web_base (), builder)
|
||||||
|
full_tag = "%s-%s" % (datetime.now ().strftime ("%Y%m%d-%H%M%S"), rev)
|
||||||
|
|
||||||
|
if branch is None:
|
||||||
|
branch = 'master'
|
||||||
|
if istry and istry == 'yes':
|
||||||
|
# Do nothing
|
||||||
|
return SUCCESS
|
||||||
|
|
||||||
|
repo = git.Repo.init (path = repodir)
|
||||||
|
|
||||||
|
if 'master' not in repo.heads:
|
||||||
|
with open (os.path.join (repodir, 'README'), 'w') as f:
|
||||||
|
f.write ("git repo for GDB test results -- %s" % builder)
|
||||||
|
repo.index.add (['README'])
|
||||||
|
repo.index.commit ('Initial commit')
|
||||||
|
repo.index.write ()
|
||||||
|
|
||||||
|
if full_tag not in repo.tags:
|
||||||
|
repo.index.add (['%s/gdb.sum' % builder,
|
||||||
|
'%s/gdb.log' % builder,
|
||||||
|
'%s/%s/baseline' % (builder, branch)])
|
||||||
|
if repo.is_dirty ():
|
||||||
|
repo.index.commit ('Log files for %s' % full_tag)
|
||||||
|
repo.index.write ()
|
||||||
|
repo.create_tag (full_tag)
|
||||||
|
return SUCCESS
|
||||||
|
|
||||||
|
def evaluateCommand (self, cmd):
|
||||||
|
# We can change this scheme for the other one if needed
|
||||||
|
return self._evaluateCommand_single_repo (cmd)
|
||||||
|
|
Loading…
Reference in a new issue