|
1748 | 1748 |
|
1749 | 1749 |
|
1750 | 1750 |
|
| 1751 | + <div class="d-flex align-items-center"> |
| 1752 | + <a |
| 1753 | + href="namespaces/fastforward-devtools-changelog-conflict.html" |
| 1754 | + class="nav-link flex-grow-1 px-3 py-1 rounded-2 link-body-emphasis small" |
| 1755 | + > |
| 1756 | + Conflict |
| 1757 | + </a> |
| 1758 | + |
| 1759 | + </div> |
| 1760 | + |
| 1761 | + </li> |
| 1762 | + <li class="nav-item"> |
| 1763 | + |
| 1764 | + |
| 1765 | + |
| 1766 | + |
| 1767 | + |
| 1768 | + |
| 1769 | + |
| 1770 | + |
| 1771 | + |
| 1772 | + |
1751 | 1773 | <div class="d-flex align-items-center"> |
1752 | 1774 | <a |
1753 | 1775 | href="namespaces/fastforward-devtools-changelog-document.html" |
@@ -3099,6 +3121,23 @@ <h2>Branch Protection Interactions</h2> |
3099 | 3121 | newest commit owns the required check contexts.</p> |
3100 | 3122 |
|
3101 | 3123 |
|
| 3124 | + <p>The predictable-conflict workflow MAY also refresh pull request branches when |
| 3125 | +the only conflicts are <code>.github/wiki</code> |
| 3126 | + pointer drift and/or <code>CHANGELOG.md</code> |
| 3127 | + |
| 3128 | +<code>Unreleased</code> |
| 3129 | + drift. It keeps pull request wiki preview pointers on the branch |
| 3130 | +side and replays branch-only changelog entries into the current base |
| 3131 | +<code>Unreleased</code> |
| 3132 | + section, which avoids placing new entries under a freshly |
| 3133 | +published release after <code>main</code> |
| 3134 | + moved. Because those automatic resolutions are |
| 3135 | +also pushed with the built-in workflow token, the workflow dispatches |
| 3136 | +<code>tests.yml</code> |
| 3137 | + for the refreshed branch after a successful push so required test |
| 3138 | +statuses can be reported for the new commit.</p> |
| 3139 | + |
| 3140 | + |
3102 | 3141 | <p>At a high level, the workflows need permission to read repository contents, |
3103 | 3142 | write generated preview commits, update pull request comments, and publish Pages |
3104 | 3143 | content. Keep those permissions scoped to the workflow jobs that actually need |
@@ -3150,6 +3189,17 @@ <h2>Workflow Permission Scope</h2> |
3150 | 3189 | safely.</p> |
3151 | 3190 |
|
3152 | 3191 |
|
| 3192 | + <p><code>auto-resolve-conflicts.yml</code> |
| 3193 | + keeps <code>contents: write</code> |
| 3194 | + so it can push |
| 3195 | +predictable conflict-resolution commits, <code>pull-requests: write</code> |
| 3196 | + so it can |
| 3197 | +inspect pull request state through GitHub tooling, and <code>actions: write</code> |
| 3198 | + so it |
| 3199 | +can dispatch <code>tests.yml</code> |
| 3200 | + after it pushes a bot-authored resolution commit.</p> |
| 3201 | + |
| 3202 | + |
3153 | 3203 | <p><code>wiki-maintenance-entry.yml</code> |
3154 | 3204 | and <code>wiki-maintenance.yml</code> |
3155 | 3205 | keep |
@@ -3201,8 +3251,12 @@ <h2>Resolving <code>.github/wiki</code> |
3201 | 3251 |
|
3202 | 3252 | <p>Submodule pointer conflicts happen when <code>main</code> |
3203 | 3253 | and the pull request point to |
3204 | | -different generated wiki commits. Resolve them by rebasing the pull request and |
3205 | | -choosing the preview wiki commit that belongs to the pull request.</p> |
| 3254 | +different generated wiki commits. The predictable-conflict workflow can resolve |
| 3255 | +this automatically when the conflict scope is limited to <code>.github/wiki</code> |
| 3256 | + and |
| 3257 | +<code>CHANGELOG.md</code> |
| 3258 | +. When resolving it manually, rebase the pull request and choose |
| 3259 | +the preview wiki commit that belongs to the pull request.</p> |
3206 | 3260 |
|
3207 | 3261 |
|
3208 | 3262 | <p>For pull request <code>123</code> |
|
0 commit comments