How to prevent individual task to be rerun without rerunning other tasks


I have a pipeline set up with Merge Request and Merge for a django project

To simplify on the MR side let assume there are only 3 main tasks:

  • deploy MR branch
  • test MR branch
  • clean up MR, remove the branch and clean up the db, it is set to execute whenever previous task fail or not

from time to time I get users that let the pipeline fully run, have the test failing, then just restart the test step without deploying the failed branch again. After that hey think it is ok to be merge to live because now the test are passing (but they are passing only on master branch) and all the pipeline has the green check boxes.
And then we get major problem on the live version.

Is there any way to prevent that and force then to restart from the beginning of the pipeline ?