dangerfile.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. const { displayAllOutputStatuses } = require("./configParameters.js");
  2. /*
  3. * Modules with checks are stored in ".gitlab/dangerjs/<module_name>". To import them, use path relative to "dangerfile.js"
  4. */
  5. async function runChecks() {
  6. // Checks for merge request title
  7. require("./mrTitleNoDraftOrWip.js")();
  8. // Checks for merge request description
  9. require("./mrDescriptionLongEnough.js")();
  10. require("./mrDescriptionReleaseNotes.js")();
  11. await require("./mrDescriptionJiraLinks.js")();
  12. // Checks for documentation
  13. await require("./mrDocsTranslation.js")();
  14. // Checks for MR commits
  15. require("./mrCommitsTooManyCommits.js")();
  16. await require("./mrCommitsCommitMessage.js")();
  17. require("./mrCommitsEmail.js")();
  18. // Checks for MR code
  19. require("./mrSizeTooLarge.js")();
  20. // Checks for MR area labels
  21. await require("./mrAreaLabels.js")();
  22. // Checks for Source branch name
  23. require("./mrSourceBranchName.js")();
  24. // Show DangerJS individual checks statuses - visible in CI job tracelog
  25. displayAllOutputStatuses();
  26. // Add success log if no issues
  27. if (
  28. results.fails.length === 0 &&
  29. results.warnings.length === 0 &&
  30. results.messages.length === 0
  31. ) {
  32. return message("🎉 Good Job! All checks are passing!");
  33. }
  34. }
  35. runChecks();
  36. // Add retry link
  37. const retryLink = `${process.env.DANGER_GITLAB_HOST}/${process.env.CI_PROJECT_PATH}/-/jobs/${process.env.CI_JOB_ID}`;
  38. markdown(
  39. `***\n#### :repeat: You can enforce automatic MR checks by retrying the [DangerJS job](${retryLink})\n***`
  40. );