BACKPORT_OF_RE = re.compile(
r"Backport\s+of.*(merge_requests/|!)([0-9]+)", flags=re.IGNORECASE
)
+VERSION_LABEL_RE = re.compile(r"v9.([0-9]+)(-S)?")
backport_desc = BACKPORT_OF_RE.search(danger.gitlab.mr.description)
version_labels = [l for l in mr_labels if l.startswith("v9.")]
if is_backport:
"Please also set exactly one version label (*v9.x*)."
)
else:
- mr_title_version = f"[{version_labels[0].replace('.', '_')}]"
- if mr_title_version not in danger.gitlab.mr.title:
+ minor_ver, edition = VERSION_LABEL_RE.search(version_labels[0]).groups()
+ edition = "" if edition is None else edition
+ title_re = f"^\\[9.{minor_ver}{edition}\\]"
+ match = re.search(title_re, danger.gitlab.mr.title)
+ if match is None:
fail(
- "Backport MRs must have their target branch in the "
- f"title. Please put `{mr_title_version}` in the MR title."
+ "Backport MRs must have their target version in the title. "
+ f"Please put `[9.{minor_ver}{edition}]` at the start of the MR title."
)
if backport_desc is None:
fail(