Хороший вопрос. Я не проверял это и не очень хорошо знаю 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
выводит данные, но это может сработать.