• Sean McGivern's avatar
    Only create unmergeable todos once · 2da8bc3d
    Sean McGivern authored
    Previously, we created an unmergeable todo when a merge request:
    
    1. Had merge when pipeline succeeds set.
    2. Became unmergeable.
    
    However, when merge when pipeline succeeds fails due to unmergeability,
    the flag isn't actually removed. And a merge request can become
    unmergeable multiple times, as every time the target branch is updated
    we need to re-check the mergeable status. This means that if the todo
    was marked done, and the MR was checked again, a new todo would be
    created for the same event.
    
    Instead of checking this, we should create the todo from the service
    responsible for merging when the pipeline succeeds. That way the todo is
    guaranteed to only be created when we care about it.
    2da8bc3d
merge_request.rb 24.6 KB