CircleCI: пропустить весь рабочий процесс - PullRequest
0 голосов
/ 13 июля 2020

Обычно я пытаюсь пропустить сборку, если это не запрос на перенос или определенная ветка, однако я не могу пропустить задание или часть рабочего процесса, если это не работает, пока проблема в том, что circleci step halt ничего не делает в моих конвейерах, пример конфигурации здесь:

version: 2.1

orbs:
  hello: circleci/hello-build@0.0.5

jobs:
  build:
    docker:
      - image: docker:17.05.0-ce-git
    steps:
      - checkout
      - setup_remote_docker
      - run:
          command: |
            if [[ $(echo "$CIRCLE_PULL_REQUEST $CIRCLE_PULL_REQUESTS" | grep -c "pull") -gt 0 ]]; then
              echo "Do stuff if it's a PR"
            else
              echo "Not a PR, Skipping."
              circleci step halt # does nothing
              circleci-agent step halt # does nothing
              exit 0
            fi

workflows:
  "Hello Workflow":
    jobs:
      - hello/hello-build:
          requires:
            - build
          filters:
            branches:
              only:
                - testing
                - /^(?!pull\/).*$/
            tags:
              only:
                - /^pull\/.*$/
      - build:
          filters:
            branches:
              only:
                - testing
                - /^(?!pull\/).*$/
            tags:
              only:
                - /^pull\/.*$/

Это не дает сбоя, и он работает с запросами на вытягивание, но hello/hello-build все равно выполняется, несмотря на команды circleci step halt.

Любая помощь будет принята с благодарностью, спасибо!

...