На основании Circle CI 2.1 мы можем определить пользовательские команды и новые CIRCLECI CLI.
Я нашел следующий код полезен для выхода за задания CIRCLECI, когда какой-то конкретный файл/каталог был изменен в последнем коммите:
# .circleci/config.yml
commands:
check-changed-files-or-halt:
parameters:
pattern:
type: string
steps:
- run: git show -m HEAD --name-only --pretty="" | egrep -q '<< parameters.pattern >>' || circleci step halt
jobs:
test:
executor: node
steps:
- attach-workspace
- check-changed-files-or-halt:
pattern: ^(src|test)|(.js|ts)$
- run: yarn install
- run: yarn test
Тем не менее, команда Git Show -M голова - имени только Только показывают последнее изменение фиксации, поэтому используйте с использованием слияния запроса на тягу с такими задачами, как развертывание.
Оригинал: «https://dev.to/acro5piano/exit-circleci-jobs-if-changed-files-do-not-match-specific-pattern-mel»