Получите покрытие Gitlab CI с отчетом о покрытии потока - PullRequest
0 голосов
/ 22 мая 2019

Я использую поток-отчет о покрытии , чтобы получить уровень покрытия моего кода от Flow.Я добавил задание в свой конвейер Gitlab CI, чтобы выполнить его и получить коэффициент покрытия.

jobName:
  stage: stage
  script:
    - ./node_modules/.bin/flow-coverage-report
  coverage: /MyProject\s*│\s*([\d\.]+)/

Вывод сценария состоит из множества строк и, в частности:

┌───────────┬─────────┬───────┬─────────┬───────────┐
│ project   │ percent │ total │ covered │ uncovered │
│ MyProject │    87 % │ 62525 │   54996 │      7529 │
└───────────┴─────────┴───────┴─────────┴───────────┘

Они не используют символ трубы |для таблицы, но 101

Когда я отлаживаю регулярное выражение с Rubular , как объяснено в Документация GitLab , я получаю правильный результат в соответствующей группе.

Однако каждый раз, когда моя работа заканчивается, она не имеет никакого значения покрытия.Я что-то пропустил ?Символы отображаются по-разному?

Примечание : У меня нет проблем с покрытием Jest, например.

1 Ответ

1 голос
/ 22 мая 2019

Хорошо, после копания в коде и других местах, я нашел виновника => цвета в выводе.

Первая строка таблицы выше фактически отображалась зеленым!

Таким образом, чтобы правильное значение интерпретировалось регулярным выражением GitLab, можно включить цвета в регулярное выражение или просто удалить цвета, как я:

./node_modules/.bin/flow-coverage-report | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"

Благодаря этому ответу .

Надеюсь, это поможет.

...