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():