[oe-commits] [openembedded-core] 36/50: oe-build-perf-test: new {tag_num} keyword for --commit-results-tag

git at git.openembedded.org git at git.openembedded.org
Thu Aug 25 22:04:52 UTC 2016


rpurdie pushed a commit to branch master
in repository openembedded-core.

commit cf2aba16338a147f81802f48d2e24a96c7133548
Author: Markus Lehtonen <markus.lehtonen at linux.intel.com>
AuthorDate: Tue Aug 23 16:41:53 2016 +0300

    oe-build-perf-test: new {tag_num} keyword for --commit-results-tag
    
    This makes it possible to create numbered tags, where the "basename" of
    the tag is the same and the only difference is an (automatically)
    increasing index number. This is useful if you do multiple test runs on
    the same commit. For example, using:
    --commit-results-tag {tester_host}/{git_commit}/{tag_num}
    
    would give you tags something like:
    myhost/decb3119dffd3fd38b800bebc1e510f9217a152e/0
    myhost/decb3119dffd3fd38b800bebc1e510f9217a152e/1
    ...
    
    The default tag format is updated to use this new keyword in order to
    prevent unintentional tag name clashes.
    
    Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/lib/oeqa/buildperf/base.py | 19 +++++++++++++++----
 scripts/oe-build-perf-test      |  2 +-
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/meta/lib/oeqa/buildperf/base.py b/meta/lib/oeqa/buildperf/base.py
index a3cd3f3..faa30c7 100644
--- a/meta/lib/oeqa/buildperf/base.py
+++ b/meta/lib/oeqa/buildperf/base.py
@@ -226,10 +226,21 @@ class BuildPerfTestResult(unittest.TextTestResult):
 
             # Create (annotated) tag
             if tag:
-                # Replace keywords
-                tag = tag.format(git_branch=self.git_branch,
-                                 git_commit=self.git_commit,
-                                 tester_host=self.hostname)
+                # Find tags matching the pattern
+                tag_keywords = dict(git_branch=self.git_branch,
+                                    git_commit=self.git_commit,
+                                    tester_host=self.hostname,
+                                    tag_num='[0-9]{1,5}')
+                tag_re = re.compile(tag.format(**tag_keywords) + '$')
+                tag_keywords['tag_num'] = 0
+                for existing_tag in repo.run_cmd('tag').splitlines():
+                    if tag_re.match(existing_tag):
+                        tag_keywords['tag_num'] += 1
+
+                tag = tag.format(**tag_keywords)
+                msg = "Test run #{} of {}:{}\n".format(tag_keywords['tag_num'],
+                                                       self.git_branch,
+                                                       self.git_commit)
                 repo.run_cmd(['tag', '-a', '-m', msg, tag, commit])
 
         finally:
diff --git a/scripts/oe-build-perf-test b/scripts/oe-build-perf-test
index 1ed5bdb..cd27584 100755
--- a/scripts/oe-build-perf-test
+++ b/scripts/oe-build-perf-test
@@ -140,7 +140,7 @@ def parse_args(argv):
                         default="{git_branch}",
                         help="Commit results to branch BRANCH.")
     parser.add_argument('--commit-results-tag', metavar='TAG',
-                        default="{git_branch}/{git_commit}",
+                        default="{git_branch}/{git_commit}/{tag_num}",
                         help="Tag results commit with TAG.")
 
     return parser.parse_args(argv)

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list