Мне кажется, что красиво будет, если нарисовать график какой-нибудь на основе этих данных. Тогда высотой столбиков можно будет красиво показать разницу
pvlbgtrv,
1. Хз. У меня всё ок.
2. Ну так запихни весь свой оставшийся код в then :)
Вообще когда писал на ноде - простоизаводил функцию async function main(), в которой писал весь код с нормальными авейтами, а в конце просто делал main(). catch(...)
Ну он некоторых ошибок в теории должен спасать ci lint.
Ещё можно посмотреть на генерацию yaml-файла из другого плайплайна на другом языке.
Например в мире .net и C# есть Nuke, в котором скрипт описывается на обычном C#, который можно покрыть обычными unit-тестами и запускать локально, но при этом из его можно одной командой сгенерить Обёртку для Gitlab, которая будет его вызывать.