... | ... | @@ -32,24 +32,25 @@ TODO: This workflow is not fully finalized |
|
|
|
|
|
## Merging your merge request
|
|
|
|
|
|
Currently we merge MRs with the aid of @marge-bot. A maintainer can flag your MR for merge by assigning it to @marge-bot using the "Assignee" field in the right sidebar:
|
|
|
We use GitLab's [merge train](https://docs.gitlab.com/ee/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/) functionality to automatically rebase and merge branches to `master`.
|
|
|
After your merge request has been reviewed and approved it can be added to the merge queue by pressing the "Start merge train" button:
|
|
|
|
|
|
![assigning-marge](uploads/50ccd3f10f6eaf3172a7dca081413660/assigning-marge.png)
|
|
|
![start-merge-train](uploads/fe0ffa99f68f0a9134f5292393505682/start-merge-train.png)
|
|
|
|
|
|
As long as your MR satisfies the following, marge will batch your MR with other MRs and attempt to merge into master:
|
|
|
As long as your MR satisfies the following, marge will batch your MR with other MRs and attempt to merge into `master`:
|
|
|
|
|
|
* Assigned to Marge
|
|
|
* Approved by a GHC developer
|
|
|
* Passing CI
|
|
|
* Has no merge conflicts with master (see rebasing below)
|
|
|
* Has no merge conflicts with `master `(see rebasing below)
|
|
|
|
|
|
Each batch is an MR and must pass CI, so you can expect Marge to merge 2 or 3 batches per day. She will usually comment on your MR to inform you of progress, but you can also view the status of Marge's batches/MRs [on GitLab](https://gitlab.haskell.org/ghc/ghc/merge_requests?scope=all&utf8=%E2%9C%93&state=all&author_username=marge-bot).
|
|
|
|
|
|
### Rebasing
|
|
|
|
|
|
You generally do NOT need to rebase your MRs unless there are merge conflicts with master. Marge will automatically rebase ontop of master when batching MRs.
|
|
|
You generally do NOT need to rebase your MRs unless there are merge conflicts with `master`. Marge will automatically rebase ontop of `master` when batching MRs.
|
|
|
|
|
|
Note GitLab usually complains that "Fast-forward merge is not possible" on your MR. If you see a green check and green "Rebase" button then there are no merge conflicts and NO action is necessary. If instead you see an exclamation mark and disabled "Merge" button, you must rebase manually and fix any merge conflicts.
|
|
|
Note GitLab usually complains that "Fast-forward merge is not possible" on your MR. If you see a green check and green "Rebase" button then there are no merge conflicts and *no* action is necessary. If instead you see an exclamation mark and disabled "Merge" button, you must rebase manually and fix any merge conflicts.
|
|
|
|
|
|
## Opening a merge request
|
|
|
|
... | ... | |