Jordan Petridis created an issue: 
https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/464



Hi,

Couple days ago we where discussing using a merge-bot to automate various 
things in from the workflow of Shell maintainers. The main features the bot 
provides is automating the merge and rebase of multiple MRs without human 
interaction (assuming MRs are approved), and annotating the commits with a link 
to the MR they were part of.

Over on gitlab.freedesktop.org we have already deployed it for about a year and 
the bot has been working fine so far for both GStreamer and Mesa.

Gitlab EE offers a similar functionality in the form of Merge Trains, but we 
are not sure if and when it will make it over to EE. Given that a third-party 
bot existed before they implemented the functionality themselves its luckily 
they will move it to Gitlab Core at some point to simplify the setup for 
everyone. Already asked about it in [this 
issue](https://gitlab.com/gitlab-org/gitlab/-/issues/21267#note_384957147)

Anyhow back to the bot. The project is hosted 
[here](https://github.com/smarkets/marge-bot) and seems kubernetes friendly. I 
've been maintaining the GStreamer bot and wouldn't mind volunteering to help 
with this one either, though I've never used kube before, just docker.

What we will need to set it up:
* An account for the bot to use that has merge permissions in `gnome-shell` and 
`mutter`
* An ssh key associated with the account
* A token of the account with `api` and `read_user` permissions

Here is an example config for the bot

```yaml
# Adds the url of the MR to the commit msg
add-part-of: true

# These require gitlab admin privs and we don't really need them
add-reviewers: false
impersonate-approvers: false

add-tested: false
batch: false
# Can make it so it only looks for the stable branches and main later
# branch-regexp: .*
ci-timeout: 180min
git-timeout: 120s
gitlab-url: 'https://gitlab.gnome.org'
project-regexp: "gnome-shell|mutter"
auth-token-file: '/configuration/secrets/marge-bot.token'
# auth-token: ''
ssh-key-file: '/configuration/secrets/marge-bot-ssh-key'
# ssh-key: |
#   -----BEGIN OPENSSH PRIVATE KEY-----
#   HELLO WORLD
```

cc @jadahl

-- 
Reply to this email directly or view it on GitLab: 
https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/464
You're receiving this email because of your account on gitlab.gnome.org.


_______________________________________________
gnome-infrastructure mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnome-infrastructure

Reply via email to