Automate picking MRs that target the auto-deploy branches for staging deployments
For an overview of how this task fits into the design for automatic staging deployments see the feature description in the associated epic
Set up a daily CI job that will pick MRs into the auto-deploy branches should happen daily on an automated schedule.
This will use similar logic for picking changes that is now currently automated via chatops, but it extends functionality to include merging gitlab-ce into gitlab-ee and pushing to dev.
Pick into MAJOR.MINOR
can be added to any gitlab-ce
or gitlab-ee
MR so that it is automatically picked up for staging deploys that happen on at least a daily basis
A periodic job that runs (at least) once a day will do the following:
-
Look for MRs that have the pick label Pick into MAJOR.MINOR
-
Use provided auto-deploy branch (provided by CI env variable) -
cherry-pick changes into this branch -
Trigger CE to EE merge utilizing merge-train -
Push theauto-deploy-MAJOR-MINOR-##
branches on gitlab-ce and gitlab-ee to gitlab.com and dev -
If the pick fails because of conflicts thePick into MAJOR.MINOR
label will be removed from the MR targeting master and a new MR will be created that targets theauto-deploy-MAJOR-MINOR-##
branch. This will be assigned to the author who will be responsible for resolving conflicts and merging
Input for this CI job MUST include environment variable AUTO_DEPLOY_BRANCH
to determine which branch and version we'll be using for cherry-pick operations