Marge picks old pipeline instead of triggering a new one

Hello,

The following is happening on Mesa CI:

image

  • The developer assigns to Marge
  • The 906507 pipeline failed
  • The developer re-assigns to Marge (expecting to re-run the pipeline, because they think it was a flake)
  • Since there were no changes of the code, no new pipeline is created (since the changes rule compares against the previous HEAD~ of the branch, and not against the target branch)
  • Marge e just picks the latest pipeline there, so it picks the same one
  • Since the same one has failure status, Marge says it failed again!
  • And Marge do it again
  • Until there is something new from master branch that she can rebase (thus changing the code in the branch) and a new pipeline is created and she finally manages to run a new pipeline and passes.

Few links where we can see this behavior:

I would like to discuss which would be the proper solution.

I guess I could use this branch_was_modified: bool to set the condition, and maybe trigger the pipeline with this call https://docs.gitlab.com/ee/api/pipelines.html#create-a-new-pipeline ?

Any ideas would be appreciated. Thanks.