Skip to content

Avoid Danger prevents QA from running

Background

Last time I rebased a merge request https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/12280#note_167048547 because it's far behind, then Danger failed because the commit message did not contain a description, but just a title.

Since now we moved QA to a standalone stage behind test stage at https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27509 and Danger is in test stage, therefore when Danger failed I cannot run QA.

Why I think we need to change something

We can fix the commit message easily, but I wasn't the author, and I really just want to run QA. The same can happen to gitlab-ce~2408198 but when that failed it feels less frustrating because it can reveal real problem which can cause QA fail anyway.

It also makes sense that if any of the tests failed, we don't run QA to save some resources, but I don't exactly see why Danger should stop me like the other tests.

Potential solutions

  • Allow Danger to fail.
  • Update the Danger policy for commit message, so such things should not prevent QA from running.
  • Move Danger to a different stage, potentially along with the QA stage. However this will slow down when we see Danger messages, and we want to pick reviewers from Danger even if tests are failing.
  • Split Danger job into two Danger jobs, one which will never fail can be put in test stage, the others move to QA stage. This requires more code to set it up and it can be confusing, and it might not be able to use two messages, meaning that we might need to make the second Danger job to contain everything from the first job so it will not overwrite its own message. This is complex and can be confusing.

What do you think?

Edited by Lin Jen-Shin