mirror of
https://github.com/NixOS/nix.git
synced 2024-11-21 22:32:26 +00:00
replace backport github action with mergify
The current backport action cannot automerge because
the github action bot does not trigger github CI actions.
Mergify instead does not have this limitation and can also
use a merge queue.
On top we have now a declarative configuration to allow
contributers to add new tests to required without having access
to the github org.
An example pull request and backport can be seen here:
https://github.com/Mic92/nix-1/pull/4
and here:
https://github.com/Mic92/nix-1/pull/5
To complete the setup the mergify app must be enabled for this repository.
It's already installed in the nixos organization for nixos-hardware and
other repositories.
(cherry picked from commit 80f20fa4cb
)
This commit is contained in:
parent
700d1355d3
commit
0c7cdde6e3
32
.github/workflows/backport.yml
vendored
32
.github/workflows/backport.yml
vendored
@ -1,32 +0,0 @@
|
|||||||
name: Backport
|
|
||||||
on:
|
|
||||||
pull_request_target:
|
|
||||||
types: [closed, labeled]
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
jobs:
|
|
||||||
backport:
|
|
||||||
name: Backport Pull Request
|
|
||||||
permissions:
|
|
||||||
# for zeebe-io/backport-action
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
|
||||||
# required to find all branches
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Create backport PRs
|
|
||||||
# should be kept in sync with `version`
|
|
||||||
uses: zeebe-io/backport-action@v3.0.2
|
|
||||||
with:
|
|
||||||
# Config README: https://github.com/zeebe-io/backport-action#backport-action
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
github_workspace: ${{ github.workspace }}
|
|
||||||
pull_description: |-
|
|
||||||
Automatic backport to `${target_branch}`, triggered by a label in #${pull_number}.
|
|
||||||
# should be kept in sync with `uses`
|
|
||||||
version: v0.0.5
|
|
92
.mergify.yml
Normal file
92
.mergify.yml
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
queue_rules:
|
||||||
|
- name: default
|
||||||
|
# all required tests need to go here
|
||||||
|
merge_conditions:
|
||||||
|
- check-success=installer
|
||||||
|
- check-success=installer_test (macos-latest)
|
||||||
|
- check-success=installer_test (ubuntu-latest)
|
||||||
|
- check-success=tests (macos-latest)
|
||||||
|
- check-success=tests (ubuntu-latest)
|
||||||
|
- check-success=vm_tests
|
||||||
|
merge_method: rebase
|
||||||
|
batch_size: 5
|
||||||
|
|
||||||
|
pull_request_rules:
|
||||||
|
- name: merge using the merge queue
|
||||||
|
conditions:
|
||||||
|
- base=master
|
||||||
|
- label~=merge-queue|dependencies
|
||||||
|
actions:
|
||||||
|
queue: {}
|
||||||
|
|
||||||
|
# The rules below will first create backport pull requests and put those in a merge queue.
|
||||||
|
|
||||||
|
- name: backport patches to 2.18
|
||||||
|
conditions:
|
||||||
|
- label=backport 2.18-maintenance
|
||||||
|
actions:
|
||||||
|
backport:
|
||||||
|
branches:
|
||||||
|
- 2.18-maintenance
|
||||||
|
labels:
|
||||||
|
- merge-queue
|
||||||
|
|
||||||
|
- name: backport patches to 2.19
|
||||||
|
conditions:
|
||||||
|
- label=backport 2.19-maintenance
|
||||||
|
actions:
|
||||||
|
backport:
|
||||||
|
branches:
|
||||||
|
- 2.19-maintenance
|
||||||
|
labels:
|
||||||
|
- merge-queue
|
||||||
|
|
||||||
|
- name: backport patches to 2.20
|
||||||
|
conditions:
|
||||||
|
- label=backport 2.20-maintenance
|
||||||
|
actions:
|
||||||
|
backport:
|
||||||
|
branches:
|
||||||
|
- 2.20-maintenance
|
||||||
|
labels:
|
||||||
|
- merge-queue
|
||||||
|
|
||||||
|
- name: backport patches to 2.21
|
||||||
|
conditions:
|
||||||
|
- label=backport 2.21-maintenance
|
||||||
|
actions:
|
||||||
|
backport:
|
||||||
|
branches:
|
||||||
|
- 2.21-maintenance
|
||||||
|
labels:
|
||||||
|
- merge-queue
|
||||||
|
|
||||||
|
- name: backport patches to 2.22
|
||||||
|
conditions:
|
||||||
|
- label=backport 2.22-maintenance
|
||||||
|
actions:
|
||||||
|
backport:
|
||||||
|
branches:
|
||||||
|
- 2.22-maintenance
|
||||||
|
labels:
|
||||||
|
- merge-queue
|
||||||
|
|
||||||
|
- name: backport patches to 2.23
|
||||||
|
conditions:
|
||||||
|
- label=backport 2.23-maintenance
|
||||||
|
actions:
|
||||||
|
backport:
|
||||||
|
branches:
|
||||||
|
- 2.23-maintenance
|
||||||
|
labels:
|
||||||
|
- merge-queue
|
||||||
|
|
||||||
|
- name: backport patches to 2.24
|
||||||
|
conditions:
|
||||||
|
- label=backport 2.24-maintenance
|
||||||
|
actions:
|
||||||
|
backport:
|
||||||
|
branches:
|
||||||
|
- "2.24-maintenance"
|
||||||
|
labels:
|
||||||
|
- merge-queue
|
Loading…
Reference in New Issue
Block a user