-
Notifications
You must be signed in to change notification settings - Fork 13
mergify: support backports automation with labels #248
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
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: mergify backport labels copier | ||
|
||
on: | ||
pull_request: | ||
types: | ||
- opened | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
mergify-backport-labels-copier: | ||
runs-on: ubuntu-latest | ||
if: startsWith(github.head_ref, 'mergify/bp/') | ||
permissions: | ||
# Add GH labels | ||
pull-requests: write | ||
# See https://github.com/cli/cli/issues/6274 | ||
repository-projects: read | ||
steps: | ||
- uses: elastic/oblt-actions/mergify/labels-copier@v1 | ||
with: | ||
excluded-labels-regex: "^backport-*" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: pre-commit | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
- 8.* | ||
- 9.* | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we leverage the branches defined in the repo for CI purpose? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
In GitHub actions, the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. BTW, if you want to avoid maintaining branches.json, we have a public bucket to help with those details too, see https://storage.googleapis.com/artifacts-api/snapshots/branches.json There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My main concern is maintenance:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I understand, and thanks for pointing those concerns! This PR is still draft and gathering those questions can help us to have something workable and fully functional. We have automated that as part of the FF scripts teams use. For instance:
In those cases, there are PRs with those changes created automatically. See elastic/apm-server#11760 or elastic/beats#41706 That's something we can help with, for instance, I added the support for creating the backport labels for the logstash in elastic/logstash@ There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nice, thank you for sharing valuable info. |
||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
pre-commit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: elastic/oblt-actions/pre-commit@v1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
pull_request_rules: | ||
- name: notify the backport policy | ||
conditions: | ||
- -label~=^backport | ||
- base=main | ||
actions: | ||
comment: | ||
message: | | ||
This pull request does not have a backport label. Could you fix it @{{author}}? 🙏 | ||
To fixup this pull request, you need to add the backport labels for the needed | ||
branches, such as: | ||
* `backport-8./d` is the label to automatically backport to the `8./d` branch. `/d` is the digit. | ||
* `backport-8.x` is the label to automatically backport to the `8.x` branch. | ||
* If no backport is necessary, please add the `backport-skip` label | ||
|
||
- name: remove backport-skip label | ||
conditions: | ||
- label~=^backport-\d | ||
actions: | ||
label: | ||
remove: | ||
- backport-skip | ||
|
||
- name: notify the backport has not been merged yet | ||
conditions: | ||
- -merged | ||
- -closed | ||
- author=mergify[bot] | ||
- "#check-success>0" | ||
- schedule=Mon-Mon 06:00-10:00[Europe/Paris] | ||
actions: | ||
comment: | ||
message: | | ||
This pull request has not been merged yet. Could you please review and merge it @{{ assignee | join(', @') }}? 🙏 | ||
|
||
- name: backport patches to 8.x branch | ||
conditions: | ||
- merged | ||
- base=main | ||
- label=backport-8.x | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
branches: | ||
- "8.x" | ||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" | ||
|
||
- name: backport patches to 8.16 branch | ||
conditions: | ||
- merged | ||
- base=main | ||
- label=backport-8.16 | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
branches: | ||
- "8.16" | ||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" | ||
|
||
- name: backport patches to 8.17 branch | ||
conditions: | ||
- merged | ||
- base=main | ||
- label=backport-8.17 | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
branches: | ||
- "8.17" | ||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" | ||
|
||
- name: backport patches to 8.18 branch | ||
conditions: | ||
- merged | ||
- base=main | ||
- label=backport-8.18 | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
branches: | ||
- "8.18" | ||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" | ||
|
||
- name: backport patches to 9.0 branch | ||
conditions: | ||
- merged | ||
- base=main | ||
- label=backport-9.0 | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
branches: | ||
- "9.0" | ||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" | ||
|
||
- name: backport patches to all active minor branches for the 8 major. | ||
conditions: | ||
- merged | ||
- label=backport-active-8 | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
# NOTE: this list needs to be changed when a new minor branch is created | ||
# or an existing minor branch reached EOL. | ||
branches: | ||
- "8.x" | ||
- "8.18" | ||
- "8.17" | ||
- "8.16" | ||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" | ||
|
||
- name: backport patches to all active minor branches for the 9 major. | ||
conditions: | ||
- merged | ||
- label=backport-active-9 | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
# NOTE: this list needs to be changed when a new minor branch is created | ||
# or an existing minor branch reached EOL. | ||
branches: | ||
- "9.0" | ||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" | ||
|
||
- name: backport patches to all active branches | ||
conditions: | ||
- merged | ||
- label=backport-active-all | ||
actions: | ||
backport: | ||
assignees: | ||
- "{{ author }}" | ||
# NOTE: this list needs to be changed when a new minor branch is created | ||
# or an existing release branch reached EOL. | ||
branches: | ||
- "9.0" | ||
- "8.18" | ||
- "8.17" | ||
- "8.16" | ||
- "8.x" | ||
- "7.17" | ||
v1v marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
labels: | ||
- "backport" | ||
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.6.0 | ||
hooks: | ||
- id: check-merge-conflict | ||
args: ['--assume-in-merge'] |
Uh oh!
There was an error while loading. Please reload this page.