From: Junghyun Kim Date: Wed, 15 Mar 2017 10:35:42 +0000 (+0900) Subject: release-snapshot can be triggered by Tizen dashboard X-Git-Tag: submit/trunk/20190927.012743~504^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F71%2F119071%2F2;p=services%2Fjenkins-scripts.git release-snapshot can be triggered by Tizen dashboard PARAMETER CHANGED: profile -> obs_project version (NEW) release-snapshot triggers BUILD-MONITOR with bm_stage RELEASE_SNAPSHOT profile can be obtained from obs_project using snapshot-repo-conf jenkins-jobs will be updated together. Change-Id: I945be1756426c3c9b88a901d5cf1afa59b395c16 Signed-off-by: Junghyun Kim --- diff --git a/job_buildmonitor.py b/job_buildmonitor.py index a85136a..6beaecf 100644 --- a/job_buildmonitor.py +++ b/job_buildmonitor.py @@ -1156,6 +1156,16 @@ def update_build_log(content): query_data = (build_log_url, build_target_id, info_package_id) buildmonitor_db.do_query(query, query_data) +def update_release_snapshot(content): + snapshot = content.get('snapshot') + release_type = content.get('release_type') + version = content.get('version') + + print "update snapshot %s as a %s release with version %s" % (snapshot, release_type, version) + query = "UPDATE build_snapshot SET %s=%s WHERE snapshot_name=%s" + query_data = (release_type, version, snapshot) + buildmonitor_db.do_query(query, query_data) + def update_unresolvable_broken_packages(project, unresolvable_broken_packages): if unresolvable_broken_packages is None: @@ -2046,6 +2056,10 @@ def main(): print "[%s][[TRBS]_UPDATE_BUILD_LOG]\n" % (__file__) update_build_log(content) + elif bm_stage == "RELEASE_SNAPSHOT": + print "[%s][%s]\n" % (__file__, bm_stage) + update_release_snapshot(content) + #======================================================= # [POST] Image / Post_Image => N/A #======================================================= diff --git a/job_release_snapshot.py b/job_release_snapshot.py index c1f2f61..c13908f 100755 --- a/job_release_snapshot.py +++ b/job_release_snapshot.py @@ -38,13 +38,22 @@ def main(): path_repo_base = os.getenv('PATH_REPO_BASE') release_type = os.getenv('release_type') - release_profile = os.getenv('profile') + #release_profile = os.getenv('profile') + obs_project = os.getenv('obs_project') release_id = os.getenv('release_id') + version = os.getenv('version') # only supports the snapshot repo created by Jenkins backend = BackendDB(os.getenv('REDIS_HOST'), int(os.getenv("REDIS_PORT"))) + obs_repo_map = backend.get_obs_repo_map() + if obs_project not in obs_repo_map: + print "Internal error, the repository corresponding obs project %s does not exist!" % obs_project + return -1 + + release_profile = obs_repo_map[obs_project] + repos = backend.get_repos() if release_profile not in repos: print "Internal error, the profile %s doesn't exists" % release_profile @@ -97,6 +106,11 @@ def main(): 'base_project':profile_info['Project'], \ 'release_id':release_id}) + trigger_next("BUILD-MONITOR", \ + {'bm_stage':'RELEASE_SNAPSHOT', + 'snapshot_name':release_id, + 'release_type':release_type, + 'version':version}) if __name__ == '__main__': sys.exit(main())