aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildbot_gentoo_ci/config/config.py3
-rw-r--r--buildbot_gentoo_ci/db/builds.py2
-rw-r--r--buildbot_gentoo_ci/steps/builders.py4
-rw-r--r--buildbot_gentoo_ci/steps/logs.py2
-rw-r--r--buildbot_gentoo_ci/steps/package.py11
-rw-r--r--buildbot_gentoo_ci/steps/repos.py2
-rw-r--r--buildbot_gentoo_ci/steps/version.py11
-rw-r--r--gentooci.cfg9
8 files changed, 33 insertions, 11 deletions
diff --git a/buildbot_gentoo_ci/config/config.py b/buildbot_gentoo_ci/config/config.py
index faf2058..e2f33be 100644
--- a/buildbot_gentoo_ci/config/config.py
+++ b/buildbot_gentoo_ci/config/config.py
@@ -92,6 +92,7 @@ class GentooCiConfig(util.ComparableMixin):
_known_config_keys = set([
"db_url",
"project",
+ "worker_config",
"repository_basedir"
])
@@ -149,3 +150,5 @@ class GentooCiConfig(util.ComparableMixin):
self.project['repository_basedir'] = config_dict['repository_basedir']
else:
self.project['repository_basedir'] = DEFAULT_REPOSITORY_BASEDIR
+ if 'worker_config' in config_dict:
+ self.project['worker_config'] = config_dict['worker_config']
diff --git a/buildbot_gentoo_ci/db/builds.py b/buildbot_gentoo_ci/db/builds.py
index 57302ef..1cf2439 100644
--- a/buildbot_gentoo_ci/db/builds.py
+++ b/buildbot_gentoo_ci/db/builds.py
@@ -54,7 +54,7 @@ class BuildsConnectorComponent(base.DBConnectorComponent):
return self.db.pool.do(thd)
@defer.inlineCallbacks
- def setStausBuilds(self, id, status):
+ def setStatusBuilds(self, id, status):
updated_at = int(self.master.reactor.seconds())
def thd(conn, no_recurse=False):
diff --git a/buildbot_gentoo_ci/steps/builders.py b/buildbot_gentoo_ci/steps/builders.py
index aed9edb..1746122 100644
--- a/buildbot_gentoo_ci/steps/builders.py
+++ b/buildbot_gentoo_ci/steps/builders.py
@@ -316,7 +316,7 @@ class SetupPropertys(BuildStep):
def run(self):
self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
print('build this %s' % self.getProperty("cpv"))
- self.setProperty('portage_repos_path', self.gentooci.config.project['project']['worker_portage_repos_path'], 'portage_repos_path')
+ self.setProperty('portage_repos_path', self.gentooci.config.project['worker_config']['portage_repos_path'], 'portage_repos_path')
self.setProperty('rootworkdir', False, 'rootworkdir')
projectrepository_data = self.getProperty('projectrepository_data')
print(projectrepository_data)
@@ -333,7 +333,7 @@ class SetupPropertys(BuildStep):
project_build_data = self.getProperty('project_build_data')
project_build_data['status'] = 'in-progress'
project_build_data['buildbot_build_id'] = self.getProperty("buildnumber")
- yield self.gentooci.db.builds.setStausBuilds(
+ yield self.gentooci.db.builds.setStatusBuilds(
project_build_data['id'],
project_build_data['status'])
yield self.gentooci.db.builds.setBuildbotBuildIdBuilds(
diff --git a/buildbot_gentoo_ci/steps/logs.py b/buildbot_gentoo_ci/steps/logs.py
index becf7d1..67845e7 100644
--- a/buildbot_gentoo_ci/steps/logs.py
+++ b/buildbot_gentoo_ci/steps/logs.py
@@ -596,7 +596,7 @@ class setBuildStatus(BuildStep):
def run(self):
self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
project_build_data = self.getProperty('project_build_data')
- yield self.gentooci.db.builds.setStausBuilds(
+ yield self.gentooci.db.builds.setStatusBuilds(
project_build_data['id'],
self.getProperty('status')
)
diff --git a/buildbot_gentoo_ci/steps/package.py b/buildbot_gentoo_ci/steps/package.py
index 81b400d..9fc59e8 100644
--- a/buildbot_gentoo_ci/steps/package.py
+++ b/buildbot_gentoo_ci/steps/package.py
@@ -29,8 +29,15 @@ class SetupPropertys(BuildStep):
#@defer.inlineCallbacks
def run(self):
- self.setProperty('portage_repos_path', '/repositorys', 'portage_repos_path')
- self.setProperty('rootworkdir', '/var/lib/buildbot_worker', 'rootworkdir')
+ self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
+ if self.gentooci.config.project['worker_config']['basedir'] is None:
+ worker_basedir = self.getProperty('builddir').split('/builds')[0]
+ else:
+ worker_basedir = self.gentooci.config.project['worker_config']['basedir']
+ self.setProperty('worker_basedir', worker_basedir, 'worker_basedir')
+ self.setProperty('rootworkdir', False, 'rootworkdir')
+ portage_repos_path = os.path.join(worker_basedir, self.gentooci.config.project['worker_config']['repository_basedir'])
+ self.setProperty('portage_repos_path', portage_repos_path, 'portage_repos_path')
return SUCCESS
class AddPackage(BuildStep):
diff --git a/buildbot_gentoo_ci/steps/repos.py b/buildbot_gentoo_ci/steps/repos.py
index 5b4b623..04b25d7 100644
--- a/buildbot_gentoo_ci/steps/repos.py
+++ b/buildbot_gentoo_ci/steps/repos.py
@@ -193,7 +193,7 @@ class UpdateRepos(BuildStep):
print(repository_data)
if repository_data['auto'] and repository_data['enabled']:
if self.getProperty('rootworkdir'):
- repository_path = os.path.join(self.getProperty('rootworkdir'), portage_repos_path[1:], repository_data['name'])
+ repository_path = os.path.join(self.getProperty('rootworkdir'), portage_repos_path, repository_data['name'])
else:
repository_path = os.path.join(portage_repos_path, repository_data['name'], '')
if repository_data['branch']:
diff --git a/buildbot_gentoo_ci/steps/version.py b/buildbot_gentoo_ci/steps/version.py
index 26cf9fc..14d1d97 100644
--- a/buildbot_gentoo_ci/steps/version.py
+++ b/buildbot_gentoo_ci/steps/version.py
@@ -317,7 +317,7 @@ class CheckPath(BuildStep):
@defer.inlineCallbacks
def run(self):
self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
- self.repository_basedir = yield os.path.join(self.getProperty("rootworkdir"), self.getProperty('portage_repos_path')[1:])
+ self.repository_basedir = yield os.path.join(self.getProperty("worker_basedir"), self.getProperty('portage_repos_path'))
self.repository_path = yield os.path.join(self.repository_basedir, self.getProperty("repository_data")['name'])
self.cp_path = yield pkgsplit(self.getProperty("cpv"))[0]
self.file_name = yield self.getProperty("package_data")['name'] + '-' + self.getProperty("version") + '.ebuild'
@@ -392,9 +392,14 @@ class SetupPropertys(BuildStep):
@defer.inlineCallbacks
def run(self):
- self.setProperty('portage_repos_path', '/repositorys', 'portage_repos_path')
- self.setProperty('rootworkdir', '/var/lib/buildbot_worker', 'rootworkdir')
self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
+ if self.gentooci.config.project['worker_config']['basedir'] is None:
+ worker_basedir = self.getProperty('builddir').split('/builds')[0]
+ else:
+ worker_basedir = self.gentooci.config.project['worker_config']['basedir']
+ self.setProperty('worker_basedir', worker_basedir, 'worker_basedir')
+ portage_repos_path = os.path.join(worker_basedir, self.gentooci.config.project['worker_config']['repository_basedir'])
+ self.setProperty('portage_repos_path', portage_repos_path, 'portage_repos_path')
print(self.getProperty("cpv"))
self.version = yield cpv_getversion(self.getProperty("cpv"))
print(self.version)
diff --git a/gentooci.cfg b/gentooci.cfg
index ca3afe3..cd4bfda 100644
--- a/gentooci.cfg
+++ b/gentooci.cfg
@@ -30,9 +30,16 @@ makeconf_list.append('PORTAGE_LOG_FILTER_FILE_CMD="bash -c \'ansifilter --ignore
# This specifies what project buildbot uses for Gentoo Ci as default
c['project'] = {
'update_db' : 'gosbsbase',
- 'worker_portage_repos_path' : '/var/db/repos/',
+ 'worker_portage_repos_path' : '/var/db/repos',
'config_makeconfig' : makeconf_list,
}
# This specifies what the repository base dir is
c['repository_basedir'] = "repositorys"
+
+# This specifies worker configs
+c['worker_config'] = {
+ 'basedir' : None,
+ 'repository_basedir' : 'repositorys',
+ 'portage_repos_path' : '/var/db/repos',
+}