Testing workflow triggers in three ways. First one is when developer opens a pull request to develop branch from feature or epic branch, second one is when developer opens a pull request to master branch from hotfix branch. Third one is when developer opens a pull request to release branch from bugfix branch. In this workflow we are running Unit & UI tests. Before this workflow, firstly we are doing code quality check on SonarQube. If tests fail or SonarQube check fails pull requests can't be merged.
Deploy workflow triggers in two ways. First one is when developers pushes a commit to release branch, second one is when developer pushes a commit to hotfix branch. In this workflow we are configuring the app with release config, build & deploy to stores.
Deploy for testing workflow actually more than one workflow. It changes depends on configuration. For example if app has develop & release configuration then this app has two deploy for testing workflow one of them is for develop config the other one is for release config, both workflows need a version code for work properly. Deploy For Testing workflow triggered through Slack Commands. Version number must be given to Slack Command. Slack pass this parameter to CI/CD system and the system will config code base with given configuration with given version number and deploy it to the testing platforms.