• Yorick Peterse's avatar
    Automatically merge CE master into EE master · ee6fb2b1
    Yorick Peterse authored
    This sets up GitLab CI to automatically push CE master changes into EE
    master, or revert them if the changes cause merge conflicts. The CI
    configuration contains a single job to do this: `merge:master`. This job
    is executed for every push to master, and periodically using a CI
    schedule.
    
    The periodic job is necessary because incremental jobs may not be able
    to revert commits if newly added commits depend on these commits. By
    re-running the job periodically (including all changes since a large
    enough time frame), we can ensure that such commits are also reverted
    (if they still conflict at that time).
    
    The job runs in its own "merge" stage, _after_ the build and prepare
    stages, but _before_ running the tests. This ensures that randomly
    failing tests won't prevent code from being merged into EE. Running the
    stage after the "prepare" stage reduces the chances of the job reverting
    CE changes just because it ran before a corresponding EE MR was merged
    into EE master.
    ee6fb2b1