[go: up one dir, main page]

Skip to content

Expire MR approvals and status checks after a configured amount of time

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

We have a Gitlab project with about 20-30 active users, where MRs are merged throughout the day. Ocasionally this results in conflicts where two conflicting MRs cause the main CI Pipeline to fail but CI passed in each of the MRs.

We have enabled Merge Results Pipeline to try and reduce these ocurrences, and have determined that Merge Trains are not suitable for our workflow and would cause unecessary delays. Following this, we found that the last major race-condition is where a user has a fully approved MR with a green pipeline, but this MR was created over a month ago. Clearly the approvals and pipeline are no longer relevant (even with Merge Results Pipeline enabled), but there's no way to expire these.

The request is to:

  • Put a configurable expiry duration on approvals, i.e remove all approvals which are over 1 week old.
  • Ensure that the MR pipeline has run within the last 1 day to ensure that the tests run to the closest version of main possible.

These would be turned on/off as required, not enforced, but would hopefully close the gap as much as possible on conflicting MRs.

I'm unsure if these would be two issues, but raised as one as they are both MR checks.

Edited by 🤖 GitLab Bot 🤖