I have a config.yml with the following workflow configuration.
workflows:
version: 2
production:
jobs:
- build:
filters:
branches:
only:
- master
- push:
requires:
- build
- deploy_prod:
requires:
- push
context: PRODUCTION
- test_prod:
requires:
- deploy_prod
context: PRODUCTION
development:
jobs:
- build:
filters:
branches:
only:
- develop
- push:
requires:
- build
- deploy_dev:
requires:
- push
context: DEVELOP
- test_dev:
requires:
- deploy_dev
context: DEVELOP
test:
jobs:
- build:
filters:
branches:
only:
- test
- push:
requires:
- build
- deploy_test:
requires:
- push
context: TEST
- test_test:
requires:
- deploy_test
context: TEST
Currently whenever I push any changes to any of the branches master, develop, test the jobs are triggered.
To simplify, whenever I push changes to the develop branch my job is being run as per the requirement so as for another branch.
My requirement
Hold the workflow of either develop or test branch when push is carried out to both develop and test branch at the same time, and execute only one workflow in such cases? So, develop workflow will be executed first and then the test workflow will be executed.
But also, if the push is done to the only one the branch either test, develop or master only, the respective workflow should be executed irrespective of the other branch’s workflow.