From 69062ac065efad31d6a6ef614147e2cbc347fb94 Mon Sep 17 00:00:00 2001 From: Chris Frohoff Date: Fri, 25 Mar 2022 01:38:52 -0700 Subject: [PATCH] merge versions with identical test results --- .github/workflows/results.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/results.py b/.github/workflows/results.py index 75b021c..8c2c4b7 100644 --- a/.github/workflows/results.py +++ b/.github/workflows/results.py @@ -1,6 +1,7 @@ import itertools import json import operator +import re import sys import subprocess @@ -35,11 +36,26 @@ GET_VER = operator.itemgetter('java.version') GET_PAY = operator.itemgetter('payload') by_payload = {payload: - {ver(version): status(list(o2)[0]['status']) + {ver(version): list(o2)[0]['status'] for version, o2 in itertools.groupby(sorted(o1, key=GET_VER), GET_VER)} for payload, o1 in itertools.groupby(sorted(data, key=GET_PAY), GET_PAY)} +by_version = {ver(version): + {payload: list(o2)[0]['status'] + for payload, o2 in itertools.groupby(sorted(o1, key=GET_PAY), GET_PAY)} + for version, o1 in itertools.groupby(sorted(data, key=GET_VER), GET_VER)} + +sorted_ver = sorted(by_version.items(), key=lambda v: list(map(int, re.split(r'[._]', v[0])))) + +ver_groups = [list(v for v, r in vers) for res, vers in itertools.groupby(sorted_ver, operator.itemgetter(1))] + +ver_ranges = [[vs[0], vs[-1]] for vs in ver_groups] + + +print('\n'.join(repr(v) for v in ver_groups)) +# # print(repr(by_payload)) +# print(repr(by_version)) vers = list(list(by_payload.items())[0][1].keys()) @@ -47,8 +63,8 @@ vers = list(list(by_payload.items())[0][1].keys()) md = pytablewriter.MarkdownTableWriter() md.table_name = '' -md.header_list = [''] + vers -md.value_matrix = [[p] + [o[v] for v in vers] for p, o in sorted(by_payload.items())] +md.header_list = [''] + ['{} - {}'.format(vs, ve) if vs != ve else vs for vs, ve in ver_ranges] +md.value_matrix = [[p] + [status(o[vs]) for vs, ve in ver_ranges] for p, o in sorted(by_payload.items())] md.margin = 1 md.write_table()