mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 05:28:00 +00:00
Use approve button workflow in danger CI
Since the LGTM label was deprecated in favor of using the Approve button in gitlab, adjust the detection in danger bot. Unfortunately, danger-python seems no longer maintained since 2020 and MR approvals aren't available in its Python API (even though they're supported in its Ruby/JS APIs). Going forward, let's use the more comprehensive python-gitlab API. It still makes sense to utilize the danger-python, since it handles the integration with gitlab which doesn't need to be reimplemented as long as it works - same with the other checks.
This commit is contained in:
parent
0f46bcc86e
commit
e901342dd9
@ -11,8 +11,11 @@
|
||||
# information regarding copyright ownership.
|
||||
############################################################################
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
import gitlab
|
||||
|
||||
# Helper functions and variables
|
||||
|
||||
|
||||
@ -44,6 +47,13 @@ modified_files = danger.git.modified_files
|
||||
mr_labels = danger.gitlab.mr.labels
|
||||
target_branch = danger.gitlab.mr.target_branch
|
||||
|
||||
gl = gitlab.Gitlab(
|
||||
url=f"https://{os.environ['CI_SERVER_HOST']}",
|
||||
private_token=os.environ["DANGER_GITLAB_API_TOKEN"],
|
||||
)
|
||||
proj = gl.projects.get(os.environ["CI_PROJECT_ID"])
|
||||
mr = proj.mergerequests.get(os.environ["CI_MERGE_REQUEST_IID"])
|
||||
|
||||
###############################################################################
|
||||
# COMMIT MESSAGES
|
||||
###############################################################################
|
||||
@ -167,15 +177,16 @@ if not backport_label_set and not version_labels:
|
||||
# remind developers about the need to set the latter on merge requests which
|
||||
# passed review.)
|
||||
|
||||
approved = mr.approvals.get().approved
|
||||
if "Review" not in mr_labels:
|
||||
warn(
|
||||
"This merge request does not have the *Review* label set. "
|
||||
"Please set it if you would like the merge request to be reviewed."
|
||||
)
|
||||
elif "LGTM (Merge OK)" not in mr_labels:
|
||||
elif not approved:
|
||||
warn(
|
||||
"This merge request is currently in review. "
|
||||
"It should not be merged until it is marked with the *LGTM* label."
|
||||
"It should not be merged until it is approved."
|
||||
)
|
||||
|
||||
###############################################################################
|
||||
|
Loading…
x
Reference in New Issue
Block a user