mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
resulttool: Add --logfile-archive option to store mode
Storing the log files inside the testresults git repo isn't scaling and isn't really appropriate use of a git repository. Allow these to be optionally stored in a separate filesystem location so the git repo can remain managable. (From OE-Core rev: 3472833b50b5ec97ec19f510ba926ab6aa5429b3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1afc0f3d7e93fa8496be241e9622d3b9a6904bd5) Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
d349ce2700
commit
05b32cacc0
@@ -74,12 +74,25 @@ def store(args, logger):
|
||||
|
||||
logger.info('Storing test result into git repository %s' % args.git_dir)
|
||||
|
||||
gitarchive.gitarchive(tempdir, args.git_dir, False, False,
|
||||
excludes = []
|
||||
if args.logfile_archive:
|
||||
excludes = ['*.log', "*.log.zst"]
|
||||
|
||||
tagname = gitarchive.gitarchive(tempdir, args.git_dir, False, False,
|
||||
"Results of {branch}:{commit}", "branch: {branch}\ncommit: {commit}", "{branch}",
|
||||
False, "{branch}/{commit_count}-g{commit}/{tag_number}",
|
||||
'Test run #{tag_number} of {branch}:{commit}', '',
|
||||
[], [], False, keywords, logger)
|
||||
excludes, [], False, keywords, logger)
|
||||
|
||||
if args.logfile_archive:
|
||||
logdir = args.logfile_archive + "/" + tagname
|
||||
shutil.copytree(tempdir, logdir)
|
||||
for root, dirs, files in os.walk(logdir):
|
||||
for name in files:
|
||||
if not name.endswith(".log"):
|
||||
continue
|
||||
f = os.path.join(root, name)
|
||||
subprocess.run(["zstd", f, "--rm"], check=True, capture_output=True)
|
||||
finally:
|
||||
subprocess.check_call(["rm", "-rf", tempdir])
|
||||
|
||||
@@ -107,3 +120,5 @@ def register_commands(subparsers):
|
||||
help='add extra test environment data to each result file configuration')
|
||||
parser_build.add_argument('-r', '--revision', default='',
|
||||
help='only store data for the specified revision')
|
||||
parser_build.add_argument('-l', '--logfile-archive', default='',
|
||||
help='directory to separately archive log files along with a copy of the results')
|
||||
|
||||
Reference in New Issue
Block a user