Able to unapprove Pull Request mid-merge

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 9.4.16, 10.1.4
    • Component/s: Pull Request - Merge
    • None
    • 1
    • Severity 3 - Minor
    • 5

      Issue Summary

      There is currently a rare race condition for pull requests where one can unapprove a pull request while it is in the process of actively merging. This can result in a PR becoming merged without any approvals, despite there being a merge check mandating approvals on the PR.

      This behavior results in user and admin confusion, as time must be spent determining whether the PR was actually approved when the merge was initiated and whether any related merge checks were actually being correctly enforced.

      Steps to Reproduce

      1. Create a pull request on a large repository with longer merge times (such as one with large numbers of cascading merges), then configure the repository to have a merge check where PRs must have at least one approval.
      2. Add a reviewer to the PR, then have them approve it, thus fulfilling the merge check.
      3. Merge the pull request, either manually or through the merge queue
      4. Quickly, during the merge, have the approver from step 2 attempt to rescind their approval

      Expected Results

      The reviewer is blocked from attempting to rescind their approval and is given an error similar to what they would receive if they attempted to do so after the PR had fully been merged.

      Actual Results

      The action completes, resulting in the PR having no approvals at the time when the merge is completed, despite the required approvals merge check being in place.

      • What is seen on PR activity log:

      Workaround

      Currently, there is no known workaround for this behavior. A workaround will be added here when available

              Assignee:
              Unassigned
              Reporter:
              Evan Slaughter (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: