XMLWordPrintable

Details

    Description

      Phase 1 for the auto-merge feature.

      Goals

      1. Prevent merging Pull Requests if they will cause a conflict anywhere in the merge chain
      2. Assess the merge chain health periodically and notify developers what is causing a merge conflict

      Desired end-result: a clean mergeable chain over time, enabling the automation of merges (merge PR's -> auto-merge -> merge-queue).

      Implementation
      Uses GitHub Actions workflows.

      • 1. A stateless workflow, checking if a patch can be merged all the way up in the chain. Will run as a Pull Request check and block a merge if the proposed patch will cause a conflict. If the main branches chain is already broken at some edge, the workflow will attempt merges only up to the last known healthy edge, to avoid blocking a Pull Request because someone else broke the chain earlier.
      • 2. A stateful workflow that will periodically check the main branch chain health. Will gather detailed information about what introduced the conflict and report back on a set of configured channels (Slack/Zulip). The workflow does synthetic merges, so the merge results are cumulative. If an edge is broken, it moves on to the next, so the final status will reflect the entire chain.

      Process

      • Phase 1 is not an auto-merge tool but enables developers to spot and resolve the conflicts early, allowing for a much smoother release process.
      • The notifications should allow the developers to rapidly identify who is responsible for a conflict and act early for a resolution.
      • The Pull Request check workflow is an additional guardrail, saving anyone's time on checking if their patch will cause a conflict later in the chain.

      Attachments

        1. screenshot-3.png
          171 kB
          Varzaru Razvan-Liviu
        2. screenshot-2.png
          299 kB
          Varzaru Razvan-Liviu
        3. screenshot-1.png
          194 kB
          Varzaru Razvan-Liviu
        4. phase1-3.png
          450 kB
          Varzaru Razvan-Liviu
        5. phase1-2.png
          516 kB
          Varzaru Razvan-Liviu
        6. phase-1.png
          433 kB
          Varzaru Razvan-Liviu

        Issue Links

          Activity

            People

              rvarzaru Varzaru Razvan-Liviu
              cvicentiu Vicențiu Ciorbaru
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0d
                  0d
                  Logged:
                  Time Spent - 4.5d
                  4.5d