Manual approval on all branches except `master`

Hello!

We have a use-case for setting up CircleCI to conditionally run a job through approval or branch name.

The configuration looks something like this:

workflows:
  test:
    jobs:
      - run_ci:
          type: approval
      - checkout:
          requires:
            - run_ci
      - node_dependencies:
          requires:
            - checkout

We have tried adding a filter on run_ci but it seems to cancel the whole workflow:

workflows:
  test:
    jobs:
      - run_ci:
          type: approval
          filters:
            branches:
              ignore: pls-ignore-master
      - checkout:
          requires:
            - run_ci
      - node_dependencies:
          requires:
            - checkout

The workflows for pls-ignore-master are none existent.

Is there an official way of adding a conditional approval job for non-leaf jobs? (I say non-leaf jobs because it looks like we can probably duplicate leaf jobs with different requires which also kinda sucks since this implies duplication in the YML file)

1 Like