modified_files = danger.git.modified_files
mr_labels = danger.gitlab.mr.labels
target_branch = danger.gitlab.mr.target_branch
+backport_label_set = "Backport" in mr_labels
gl = gitlab.Gitlab(
url=f"https://{os.environ['CI_SERVER_HOST']}",
# - lines which contain references (i.e. those starting with "[1]",
# "[2]", etc.) which allows e.g. long URLs to be included in the
# commit log message.
+#
+# * There is no "cherry picked from X" message in Backport commits.
PROHIBITED_WORDS_RE = re.compile(
"^(WIP|wip|DROP|drop|DROPME|checkpoint|experiment|TODO|todo)[^a-zA-Z]"
f"Line too long in log message for commit {commit.sha}: "
f"```{line}``` ({len(line)} > 72 characters)."
)
+ if backport_label_set and "cherry picked from commit" not in commit.message:
+ warn(
+ f"`cherry picked from commit...` message missing in commit {commit.sha}. "
+ "Please use `-x` option with `git cherry-pick` or remove the `Backport` label."
+ )
###############################################################################
# MILESTONE
# request is not a backport, version labels are used for indicating
# backporting preferences.)
-backport_label_set = "Backport" in mr_labels
version_labels = [l for l in mr_labels if l.startswith("v9.")]
if backport_label_set and len(version_labels) != 1:
fail(