How do I trigger a workflow via CircleCI API (v2) WITHOUT interrupting other workflows already triggered?

How do I trigger a workflow via CircleCI API (v2) WITHOUT interrupting/altering workflows triggered by other API calls &/ other automatic build/tag triggers?

  • I followed the instructions: here
  • my config.yml:
version: 2.1
parameters:
  deploy:
    default: false
    type: boolean
workflows:
  version: 2
  test:
    # TODO: I want this workflow to start whenever I push a branch that matches
    # and I don't want it interrupted or stopped when the deploy workflow is triggered via API
    unless: << pipeline.parameters.provision_env >>
    jobs:
      - test:
          context: scope-circleci
          filters:
            branches:
              only:
                - /^develop.*/
                - /^master.*/
                - /release/.*/
            tags:
              only:
                - /^\d+\.\d+\.\d+.*/ # e.g. 1.23.4-rc5
  deploy:
    # TODO: I only want this workflow to start when I trigger it via API, and not be interrupted by pushing another branch
    when: << pipeline.parameters.provision_env >>
    jobs:
      - build:
          context: scope-circleci
      - build-on-prem:
          requires:
            - build
          context: scope-circleci-on-prem
jobs:
...

I may be misunderstanding this, but these workflows should not cancel each other unless you have enabled autocancel redundant builds. Are you trying to accomplish this while also autocanceling redundant builds?

Maybe you should use config 2.1 and unless keys. Please reference here
https://circleci.com/docs/2.0/configuration-reference/#the-when-step-requires-version-21

when: default trigger when committing
unless: default no trigger when committing

Auto-cancel will still cancel the workflows in the previous running pipeline even if the API triggered pipeline skips them.