What would be good way to implement workflow rules for given scenario?

We are looking to implement complete CI pipeline from QA → UAT>>PROD .
Gitlab version : 12.7

Repo structure : feature-xx —> release-xx ----> master

pipeline 1 : CI Pipeline to trigger when the merge request of opened by lead to merge the code from feature to release .The CI pipeline would execute the code in airflow on feature branch , execute the test cases and merge and deploy the code to release branch.
pipeline 2 : This is to be triggered when the merge request is raised for release to master . The pipeline would execute the code in UAT airflow against the release branch and execute the automated test cases.
pipeline 3: Once the merge request for step 2 is approved , deploy the code to master and create the execution flows in airflow

What should be the right way to create teh workflow rules for such uses cases??