mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-15 02:36:16 +02: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.
This commit is contained in:
parent
b62e5e889a
commit
80f20fa4cb
2 changed files with 92 additions and 32 deletions
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 a new issue