diff options
-rw-r--r-- | meta/lib/oeqa/buildperf/base.py | 19 | ||||
-rwxr-xr-x | 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 a3cd3f3155..faa30c72ec 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 1ed5bdbf5e..cd27584120 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) |