Как сделать так, чтобы семантическая версия с CircleCI не работала без изменений - PullRequest
0 голосов
/ 02 мая 2019

Я настроил задание CircleCI для запуска семантической версии, но я бы хотел, чтобы CircleCI завершился ошибкой, если не найдено никаких изменений. то есть когда выводятся семантические релизы:

Нет соответствующих изменений, поэтому новая версия не выпускается

Фрагмент CircleCi для бегущей строки.

  - run:
      name: Semantic Release
      command: npm run semantic-release

Ответы [ 2 ]

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

Хороший вопрос. Я не проверял это и не очень хорошо знаю Node.js для быстрого тестирования, но вот мое предложение.

grep возвращает код выхода 0, если он что-то находит, и 1, если нет. Любой код выхода, отличный от 0, означает сбой CircleCI. Флаг -q в Grep означает «тихий», текст не выводится, а «&&» означает «только запуск», если предыдущая команда прошла. Таким образом, это может работать для вас:

  - run:
      name: Semantic Release
      # Fail if there are no changes
      command: npm run semantic-release | grep -q "There are no relevant changes, so no new version is released." && exit 1

Опять же, я лично не проверял это, поэтому я не знаю, как semantic-release выводит данные, но это может сработать.

0 голосов
/ 08 мая 2019

semantic-release не выдает ошибок в случае не выпуска преднамеренно.

Если вы добавляете коммит, который не гарантирует релиз (например, коммит, который изменяет комментарий в коде илиформатирование кода) вы не хотите, чтобы ваш CI выходил из строя.

Короче говоря, отказ от выпуска, когда выпуск не требуется, не является ошибкой, поэтому CI не должен выдавать ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...