Applies only to devbase project.
create upload_obs_service_gbp function for the git-buildpackage
Trigger next TEST-TRIGGER-INFO-UPDATE when only devbase project
Change-Id: Ied1a62eba9d133831550efbf515f08d8c96273d8
return (prerelease_project.split(project)[-1].replace(":","/")[1:])
+def is_devbase_project(project_name):
+ """
+ Return true if the project name belong to prerelease devbase namespace
+ """
+ return project_name.startswith("home:prerelease:Tizen:Devbase:")
+
raise UploadError("Unable to upload _service to %s: %s" % \
(obs_project, error))
+# for devbase project
+def upload_obs_service_gbp(git_url, git_project, git_tag,
+ git_revision, obs_project, build, package):
+ """UPload _service file to OBS.Create package if doesn't exist.To replace
+ make package in local"""
+ if not build.exists(obs_project, package):
+ try:
+ build.create_package(obs_project, package)
+ except ObsError, error:
+ raise UploadError("Unable to create package %s/%s :%s" % \
+ (obs_project, package, error))
+ # Upload _service file to the project for gbs source service
+ print 'Upload service file'
+ commit_message = 'uploaded by prerelease job to build %s/%s(%s)' % \
+ (git_project, git_tag, git_revision)
+ content = "<services><service name='git-buildpackage'>" \
+ "<param name='revision'>%s</param>" \
+ "<param name='url'>%s</param>" \
+ "<param name='git-meta'>_git-meta</param>" \
+ "</service></services>" % \
+ (git_revision, os.path.join(git_url, git_project))
+ fname = '_service'
+ with open(fname, 'w') as servicef:
+ servicef.write(content)
+ try:
+ build.commit_files(obs_project, package,
+ [(fname, True)], commit_message)
+ except ObsError, error:
+ raise UploadError("Unable to upload _service to %s: %s" % \
+ (obs_project, error))
+
def upload_obs_files(git_project, git_tag, git_revision, \
obs_project, build, package, files):
"""UPload _service file to OBS.Create package if doesn't exist.To replace
from common import utils
from common.mapping import git_obs_map, git_virtual_branch_map
-from common.upload_service import upload_obs_service, UploadError
-from common.prerelease import get_info_from_prerelease_name
+from common.upload_service import upload_obs_service, upload_obs_service_gbp, UploadError
+from common.prerelease import get_info_from_prerelease_name, is_devbase_project
from common.git import Git, clone_gitproject
from common.gerrit import GerritEnv, GerritError
from common import runner
continue
print '<< %s >>' % package[idx]
sys.stdout.flush()
- upload_obs_service(git_url, git_project[idx], git_tag,
- git_revision[idx], obs_project, build, package[idx])
+ # if obs_project is devbase project then use the gbp to export.
+ if is_devbase_project(obs_project):
+ upload_obs_service_gbp(git_url, git_project[idx], git_tag,
+ git_revision[idx], obs_project, build, package[idx])
+ else:
+ upload_obs_service(git_url, git_project[idx], git_tag,
+ git_revision[idx], obs_project, build, package[idx])
except UploadError, err:
raise LocalError(err)
from common.buildtrigger import trigger_info, trigger_next, get_pending_builds_with_parameter
from common.buildservice import BuildService
from common.backenddb import BackendDB
-from common.prerelease import get_info_from_prerelease_name
+from common.prerelease import get_info_from_prerelease_name, is_devbase_project
from common.snapshot import Snapshot, SnapshotError
from common.iris_rest_client import IrisRestClient
if bBuildFail == True:
# NOTIFY BUILDSTATUS
trigger_next("NOTIFY-BUILDSTATUS", info)
+ else:
+ # Only devbase project
+ if is_devbase_project(project):
+ trigger_next("TEST-TRIGGER-INFO-UPDATE", info)
elif action == 'cleanup':
# request(SR) end of life, this founction should be called to