Get information from matching tag instead of latest reference. 12/144312/2
authorhyokeun <hyokeun.jeon@samsung.com>
Wed, 16 Aug 2017 07:57:07 +0000 (16:57 +0900)
committerhyokeun <hyokeun.jeon@samsung.com>
Wed, 16 Aug 2017 08:30:59 +0000 (17:30 +0900)
Problem: git for-each-ref will fetch latest reference.
         If newer reference comes while processing submit job, it will fetch wrong data.
Fix: Specify git tag to list up.

Change-Id: I9d2eba5400d3acf1af4c2b29a497867446322737

job_submit.py

index c56279f..389a8d3 100644 (file)
@@ -149,6 +149,7 @@ def enqueue_request(url, gerrit_project, git_tag, gerrit_newrev,
 
 def process_requests(build, request_q):
 
+    retry_count = 3
     for x in request_q['requests']:
         args = x[x.keys()[0]]
         # Re-arrange SR-SYNC
@@ -156,7 +157,6 @@ def process_requests(build, request_q):
             for a in args:
                 a['url'] = request_q['url']
                 a['obs_target_prj'] = request_q['obs_target_prj']
-        retry_count = 3
         while retry_count >= 0:
             try:
                 create_project(build, x.keys()[0], args, mode=request_q['reason'])
@@ -508,11 +508,11 @@ def main(build_type, build, event, sr_count):
         commit_date, cd_err, cd_ret = mygit._git_inout('show', ['-s', '--format=%ci'])
         commit_msg, cm_err, cm_ret = mygit._git_inout('show', ['-s', '--format=%s'])
         submit_date, sd_err, sd_ret = mygit._git_inout('for-each-ref', \
-                    ['--count=1', '--sort=-taggerdate', '--format=%(taggerdate:iso)'])
+                    ['--count=1', '--sort=-taggerdate', '--format=%(taggerdate:iso)', 'refs/tags/%s' % git_tag])
         submit_msg, sm_err, sm_ret = mygit._git_inout('for-each-ref', \
-                    ['--count=1', '--sort=-taggerdate', '--format=%(subject)'])
-        submitter, st_err, st_ret = mygit._git_inout('for-each-ref',\
-                    ['--count=1', '--sort=-taggerdate', '--format=%(taggeremail)'])
+                    ['--count=1', '--sort=-taggerdate', '--format=%(subject)', 'refs/tags/%s' % git_tag])
+        submitter, st_err, st_ret = mygit._git_inout('for-each-ref', \
+                    ['--count=1', '--sort=-taggerdate', '--format=%(taggeremail)', 'refs/tags/%s' % git_tag])
         #print '[%s] %s%s' % (__file__, commit_date, commit_msg)
         #print '[%s] %s%s%s' % (__file__, submit_date, submit_msg, submitter)