From 649f657f91c10464e0152dd9bf187e57c03cda9f Mon Sep 17 00:00:00 2001 From: Rick Elrod Date: Fri, 20 Mar 2020 14:01:59 -0500 Subject: [PATCH] Fix coverage script to handle ongoing runs (#68380) * Fix get_recent_coverage_runs.py to handle ongoing runs Signed-off-by: Rick Elrod * Color code test status to make it easier to see at a glance Signed-off-by: Rick Elrod * fix lint Signed-off-by: Rick Elrod --- hacking/shippable/get_recent_coverage_runs.py | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/hacking/shippable/get_recent_coverage_runs.py b/hacking/shippable/get_recent_coverage_runs.py index 88f5b3a9858..e05c1061f24 100755 --- a/hacking/shippable/get_recent_coverage_runs.py +++ b/hacking/shippable/get_recent_coverage_runs.py @@ -20,6 +20,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type +from ansible.utils.color import stringc import requests import sys @@ -53,11 +54,32 @@ def get_coverage_runs(): def pretty_coverage_runs(runs): - for run in sorted(runs, key=lambda x: x['endedAt']): - if run['statusCode'] == 30: - print('🙂 [PASS] https://app.shippable.com/github/ansible/ansible/runs/%s (%s)' % (run['runNumber'], run['endedAt'])) + ended = [] + in_progress = [] + for run in runs: + if run.get('endedAt'): + ended.append(run) else: - print('😢 [FAIL] https://app.shippable.com/github/ansible/ansible/runs/%s (%s)' % (run['runNumber'], run['endedAt'])) + in_progress.append(run) + + for run in sorted(ended, key=lambda x: x['endedAt']): + if run['statusCode'] == 30: + print('🙂 [%s] https://app.shippable.com/github/ansible/ansible/runs/%s (%s)' % ( + stringc('PASS', 'green'), + run['runNumber'], + run['endedAt'])) + else: + print('😢 [%s] https://app.shippable.com/github/ansible/ansible/runs/%s (%s)' % ( + stringc('FAIL', 'red'), + run['runNumber'], + run['endedAt'])) + + if in_progress: + print('The following runs are ongoing:') + for run in in_progress: + print('🤔 [%s] https://app.shippable.com/github/ansible/ansible/runs/%s' % ( + stringc('FATE', 'yellow'), + run['runNumber'])) def main():