Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

github: Document the option of using Mergify for merge automation #28

Merged
merged 1 commit into from
May 6, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions docs/github-merge-strategy.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,13 @@ We use the default merge method of creating merge commits for PRs. This is to en
This requires project maintainers to include commit messages and the overall structure of the commit series as part of their review. When multiple commits are present, they should represent a logical series of changes that implement the overall change proposed in the PR. The commit message for each should clearly explain that step of the progression.

It is common that a PR author may need to do a final rebase to clean up their proposed commit series before a PR can be merged. It is also fine for a project maintainer to perform this step when the changes necessary are straight forward enough to do so. This includes doing a final rebase on `main` if necessary. The PR itself should NOT include any merge commits of `main` back into the developer's branch. We expect the proposed commit series to be a clean set of commits against `main` without conflicts or merge commit history. We only use a merge commit to record the PR's inclusion into `main`.

## Merge Automation

Repositories may use [Mergify](https://mergify.io/) to automate the merge
process and enforcement of merge policies. Using this tool allows us to encode
the merge requirements in a file stored in the git repository itself. Once all
requirements are met, Mergify will automatically merge the PR.

An example configuration can be found in the [instructlab-bot
repo](https://github.com/instructlab/instructlab-bot/blob/main/.github/.mergify.yml).