From: hyokeun Date: Thu, 23 Nov 2017 06:54:49 +0000 (+0900) Subject: TPE-469 Fix dashboard git-obs-map update fail and abs update X-Git-Tag: submit/trunk/20190927.012743~236^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F93%2F161393%2F2;p=services%2Fjenkins-scripts.git TPE-469 Fix dashboard git-obs-map update fail and abs update Change-Id: Id0d8a3eb46c40e7025e5dc56c4a711782ac24642 --- diff --git a/common/mapping.py b/common/mapping.py index e113b48..2a23763 100644 --- a/common/mapping.py +++ b/common/mapping.py @@ -195,11 +195,11 @@ class MappingV2(object): return mapping - def get_mapping_list(self, obs_project, staging_project): + def get_mapping_list(self, obs_project, staging_project, ignore_config=False): """Get all list""" mapping = [] - if self.mapping_obj.configure: + if ignore_config == False and self.mapping_obj.configure: # if configure.enable is false then return [] if self.mapping_obj.configure.enable == 'false': return mapping @@ -415,7 +415,7 @@ def git_obs_map_full_list(obs_project=None, staging_project=None, gitcache=None, # get mappings v2 for file in mapping_v2_file_lists: mymapping_v2 = MappingV2(file) - obs_prjs.extend(mymapping_v2.get_mapping_list(obs_project, staging_project)) + obs_prjs.extend(mymapping_v2.get_mapping_list(obs_project, staging_project, ignore_config=True)) # remove overlapped items #obs_prjs = remove_overlaps(obs_prjs) diff --git a/job_update_git_obs_mapping_for_dashboard.py b/job_update_git_obs_mapping_for_dashboard.py index a777257..9f46ffc 100755 --- a/job_update_git_obs_mapping_for_dashboard.py +++ b/job_update_git_obs_mapping_for_dashboard.py @@ -48,9 +48,10 @@ def generate_mapping(prjdir, target_dir): git_obs_mapping_info = {} #proj_branch_info = gerrit.ls_projects() - cmd = "ssh -p %s %s gerrit ls-projects %s > proj_list" % (os.getenv('GERRIT_SSHPORT', 29418), - os.getenv('GERRIT_HOSTNAME', "review.tizen.org"), - arg) + cmd = "ssh -p %s %s@%s gerrit ls-projects %s > proj_list" % (os.getenv('GERRIT_SSHPORT', 29418), + os.getenv('GERRIT_USERNAME'), + os.getenv('GERRIT_HOSTNAME', "review.tizen.org"), + arg) subprocess.check_output(cmd, shell=True) with open("proj_list", "r") as f: for l in f: @@ -99,6 +100,32 @@ def generate_fork_git_mapping(prjdir, target_dir): with open(target_filename, "w") as f: f.write(json.dumps(git_obs_mapping_fork_info)) +#Handle ABS git +def generate_abs_git_mapping(prjdir, target_dir): + mapping = git_obs_map_full_list() + git_obs_mapping_abs_info = {} + for item in mapping: + # We only care about abs tag + if ('OBS_project' not in item) or (not item.get('OBS_project')) \ + or ('Project_name' not in item) or (not item.get('Project_name')) \ + or ('OBS_staging_project' not in item) or (not item.get('OBS_staging_project')) \ + or (item.get('OBS_staging_project') != 'abs'): + continue + git_repo = item.get('Project_name') + package_name = item.get('OBS_package', None) + if not package_name: + package_name = os.path.basename(git_repo) + obs_project = item.get('OBS_project') + if item.get('Project_name') not in git_obs_mapping_abs_info: + git_obs_mapping_abs_info[git_repo] = {obs_project: package_name} + else: + git_obs_mapping_abs_info[git_repo][obs_project] = package_name + + target_filename = os.path.join(target_dir, "mapping_abs.json") + + with open(target_filename, "w") as f: + f.write(json.dumps(git_obs_mapping_abs_info)) + ########################################################### # test code #target_dir = ".dashboard/git_obs_mapping" @@ -115,15 +142,14 @@ GERRIT_SSHPORT = os.getenv('GERRIT_SSHPORT') GERRIT_SILENT_MODE = int(os.getenv('GERRIT_SILENT_MODE')) events = get_gerrit_event() -print(events) prjdir = os.path.join(WORKSPACE, "git-obs-mapping") - -clone_gitproject(GERRIT_PROJECT, prjdir) +clone_gitproject(GERRIT_PROJECT, prjdir, git_cache_dir="nonexist") target_dir = ".dashboard/git_obs_mapping" generate_mapping(prjdir, target_dir) generate_fork_git_mapping(prjdir, target_dir) +generate_abs_git_mapping(prjdir, target_dir) sync_dest = os.path.join(os.getenv("IMG_SYNC_DEST_BASE"), "snapshots", target_dir) # sync to the download server.