From 19e0f32d51935b8aba52f6e1a8b0077267761294 Mon Sep 17 00:00:00 2001 From: SoonKyu Park Date: Wed, 13 Sep 2017 15:27:37 +0900 Subject: [PATCH] For Tizen:Unified, only when gbs-ref-fullbuild job succeeded, update-gbs-meta job can be triggered Jenkins job process: 1. scm/git-ref-mapping update 2-1. Tizen:Unified : gbs fullbuild -> Trigger update-gbs-meta and Build-monitor when there is no problem in gbs-ref-fullbuild 2-2. Other profile : Direct trigger update-gbs-meta Change-Id: Ic158a4ed58f35a0f10340a4b9cd866e947c47a05 --- job_gbs_ref_fullbuild.py | 48 ++++++++++++++++++++++++++---------------------- job_update_gbs_meta.py | 13 ++++++++----- 2 files changed, 34 insertions(+), 27 deletions(-) mode change 100644 => 100755 job_update_gbs_meta.py diff --git a/job_gbs_ref_fullbuild.py b/job_gbs_ref_fullbuild.py index ef0c526..490a9fe 100755 --- a/job_gbs_ref_fullbuild.py +++ b/job_gbs_ref_fullbuild.py @@ -12,6 +12,7 @@ import re from common.git import Git, clone_gitproject from common.gerrit import Gerrit, get_gerrit_event, GerritError, is_ref_deleted from common.buildservice import BuildService +from common.buildtrigger import trigger_next # prepare related global variables workspace = os.getenv('WORKSPACE') @@ -22,7 +23,7 @@ TIZEN_PROFILE = os.getenv('TIZEN_PROFILE') REPOSITORY = os.getenv('REPOSITORY') ARCHITECTURE = os.getenv('ARCHITECTURE') #gbs_ref_fullbuild_root = workspace -gbs_ref_fullbuild_root = os.getenv('HOME') + '/gbsfullbuild-ROOT/' +gbs_ref_fullbuild_root = '/data/gbsfullbuild-ROOT/' BUILD_ROOT = gbs_ref_fullbuild_root + '/GBS-ROOT/' SRC_ROOT = gbs_ref_fullbuild_root + '/SRC-ROOT/' gbs_default_build_arg='timeout 6h gbs build --threads=16 --define "jobs 8" --define "_smp_mflags -j8" --baselibs --clean-once' @@ -203,13 +204,13 @@ def _do_repo_arch_gbs_fullbuild(repo,arch): if __is_gbs_fullbuild_result_fail(repo,arch): # TRIGGER NEXT BUILD-MONITOR - if False: - update_message="Successed:B(X)I(-)" - if len(update_message) < 119: - trigger_next("BUILD-MONITOR", \ - {'bm_stage':'GBSFULLBUILD_SNAPSHOT', - 'snapshot_name':ref_profile['ref_snapshot_build_id'], - 'gbsfullbuild_string': update_message}) + update_message="GBS Fullbuild Failed" + if len(update_message) < 119: + trigger_next("BUILD-MONITOR", \ + {'bm_stage':'GBSFULLBUILD_SNAPSHOT', + 'snapshot_name':ref_profile['ref_snapshot_build_id'], + 'gbsfullbuild_string': update_message}) + raise LocalError('There are errors on GBS fullbuild for repo:%s, arch:%s' %(repo,arch)) @@ -283,13 +284,13 @@ def _do_mic_build(ks_path): ret = subprocess.call(cmd, stdout=sys.stdout,stderr=sys.stderr, shell=True) if ret: # TRIGGER NEXT BUILD-MONITOR - if False: - update_message="Successed:B(O)I(X)" - if len(update_message) < 119: - trigger_next("BUILD-MONITOR", \ - {'bm_stage':'GBSFULLBUILD_SNAPSHOT', - 'snapshot_name':ref_profile['ref_snapshot_build_id'], - 'gbsfullbuild_string': update_message}) + update_message="Image Creation Failed" + if len(update_message) < 119: + trigger_next("BUILD-MONITOR", \ + {'bm_stage':'GBSFULLBUILD_SNAPSHOT', + 'snapshot_name':ref_profile['ref_snapshot_build_id'], + 'gbsfullbuild_string': update_message}) + raise LocalError('Image creation error for ks:%s' %ks_path) @@ -373,19 +374,22 @@ def main(): print 'commit message is %s' %commit_msg if commit_msg.find(ref_profile['profile']) == -1 or commit_msg.find(ref_profile['t_ver']) == -1: print "skip fullbuild...\nGBS reference fullbuild is triggered only for %s" %TIZEN_PROFILE + trigger_next("update-gbs-meta",event) return 0 do_gbs_build() do_image_creation() # TRIGGER NEXT BUILD-MONITOR - if False: - update_message="Successed:B(O)I(O)" - if len(update_message) < 119: - trigger_next("BUILD-MONITOR", \ - {'bm_stage':'GBSFULLBUILD_SNAPSHOT', - 'snapshot_name':ref_profile['ref_snapshot_build_id'], - 'gbsfullbuild_string': update_message}) + update_message="Succeeded" + if len(update_message) < 119: + trigger_next("BUILD-MONITOR", \ + {'bm_stage':'GBSFULLBUILD_SNAPSHOT', + 'snapshot_name':ref_profile['ref_snapshot_build_id'], + 'gbsfullbuild_string': update_message}) + + trigger_next("update-gbs-meta",event) + if __name__ == '__main__': sys.exit(main()) diff --git a/job_update_gbs_meta.py b/job_update_gbs_meta.py old mode 100644 new mode 100755 index b3dd242..f165b3c --- a/job_update_gbs_meta.py +++ b/job_update_gbs_meta.py @@ -9,10 +9,11 @@ import urllib2 import gzip from common.git import Git, clone_gitproject from common.gerrit import Gerrit, get_gerrit_event, GerritError, is_ref_deleted +from common.buildtrigger import trigger_info # prepare related global variables workspace = os.getenv('WORKSPACE') -basic_url= os.getenv('URL_PUBLIC_REPO_BASE') + '/snapshot/tizen/' +basic_url= os.getenv('URL_PUBLIC_REPO_BASE') + '/snapshots/tizen/' gbs_meta_default_profile = os.getenv('GBS_META_DEFAULT_PROFILE') gbs_meta_support_tizen_ver = os.getenv('GBS_META_SUPPORT_TIZEN_VER') @@ -269,13 +270,14 @@ def _update_gbs_conf(ref_list,base_prj_list,commit_msg): for ref_profile in ref_list: profile = ref_profile['profile'] t_ver = ref_profile['t_ver'] + ref_snapshot_url = ref_profile['ref_snapshot_url'] gbs_conf_text += '\n############# '+ t_ver+profile+' #############\n' for repository in ref_profile['repository']: gbs_conf_text += '[repo.'+t_ver+profile+'_'+repository+']\n' - gbs_conf_text += 'url = '+basic_url+t_ver+profile+'/latest/repos/'+repository+'/packages/\n' + gbs_conf_text += 'url = '+ref_snapshot_url+'repos/'+repository+'/packages/\n' gbs_conf_text += '[repo.'+t_ver+profile+'_'+repository+'_debug]\n' - gbs_conf_text += 'url = '+basic_url+t_ver+profile+'/latest/repos/'+repository+'/debug/\n\n' + gbs_conf_text += 'url = '+ref_snapshot_url+'repos/'+repository+'/debug/\n\n' #write gbs_conf_text to default gbs_conf_file, which is scm/meta/gbs-config/gbs.conf print '==================================================\n=========== default gbs.conf file==========\n==================================================\n' @@ -406,7 +408,9 @@ def main(): print '---[JOB STARTED]----------------------------------------' - event = get_gerrit_event() + #comment out because this job is triggered by gbs-ref-fullbuild +# event = get_gerrit_event() + event = trigger_info(os.getenv("TRIGGER_INFO")) # prepare separate temp directory for each build @@ -458,4 +462,3 @@ def main(): if __name__ == '__main__': sys.exit(main()) - -- 2.7.4