From 9f89320a2a76bdc5f19e76cf68a0691345f0b5c2 Mon Sep 17 00:00:00 2001 From: yao-xiaobai <17625331900@163.com> Date: Thu, 6 Feb 2025 16:41:31 +0800 Subject: [PATCH 1/3] add repo branch in maintain check function --- src/ac/acl/repo_in_maintain/__init__.py | 0 .../repo_in_maintain_check.py | 61 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/ac/acl/repo_in_maintain/__init__.py create mode 100644 src/ac/acl/repo_in_maintain/repo_in_maintain_check.py diff --git a/src/ac/acl/repo_in_maintain/__init__.py b/src/ac/acl/repo_in_maintain/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/ac/acl/repo_in_maintain/repo_in_maintain_check.py b/src/ac/acl/repo_in_maintain/repo_in_maintain_check.py new file mode 100644 index 0000000..873440b --- /dev/null +++ b/src/ac/acl/repo_in_maintain/repo_in_maintain_check.py @@ -0,0 +1,61 @@ +# -*- encoding=utf-8 -*- +# ********************************************************************************** +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. +# [openeuler-jenkins] is licensed under the Mulan PSL v2. +# You can use this software according to the terms and conditions of the Mulan PSL v2. +# You may obtain a copy of Mulan PSL v2 at: +# http://license.coscl.org.cn/MulanPSL2 +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v2 for more details. +# Author: +# Create: 2025-2-6 +# Description: check repo branch whether in maintain +# ********************************************************************************** + +import logging +import requests +import yaml + +from src.ac.framework.ac_base import BaseCheck +from src.ac.framework.ac_result import FAILED, SUCCESS + +logger = logging.getLogger("ac") + + +class CheckRepoInMaintain(BaseCheck): + + def __init__(self, workspace, repo): + super(CheckRepoInMaintain, self).__init__(workspace, repo) + + def __call__(self, *args, **kwargs): + logger.info("check %s branch whether in maintain...", self._repo) + logger.debug("args: %s, kwargs: %s", args, kwargs) + + self._branch = kwargs.get("tbranch") + self._token = kwargs.get("token") + + self.run() + + def load_yml(self): + logger.info("start load package management yaml") + base_url = "https://gitee.com/api/v5/repos/openeuler/release-management/raw" + url = f"{base_url}/{self._branch}/delete/pckg-mgmt.yaml?access_token={self._token}" + + response = requests.get(url) + if response.status_code != 200: + logger.info(f"request package management failure: {response.text}") + return + + dct = yaml.safe_load(response.content) + return dct + + def run(self): + yml = self.load_yml() + + del_repos = [x.get("name") for x in yml.get("packages")] if yml else [] + + if self._repo in del_repos: + return FAILED + return SUCCESS -- Gitee From 0b6235fd32372ecb2043d9ccf61aed50046f6217 Mon Sep 17 00:00:00 2001 From: yao-xiaobai <17625331900@163.com> Date: Thu, 13 Feb 2025 14:54:05 +0800 Subject: [PATCH 2/3] opt fmt --- ...epo_in_maintain_check.py => repo_in_maintain.py} | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) rename src/ac/acl/repo_in_maintain/{repo_in_maintain_check.py => repo_in_maintain.py} (84%) diff --git a/src/ac/acl/repo_in_maintain/repo_in_maintain_check.py b/src/ac/acl/repo_in_maintain/repo_in_maintain.py similarity index 84% rename from src/ac/acl/repo_in_maintain/repo_in_maintain_check.py rename to src/ac/acl/repo_in_maintain/repo_in_maintain.py index 873440b..4898b42 100644 --- a/src/ac/acl/repo_in_maintain/repo_in_maintain_check.py +++ b/src/ac/acl/repo_in_maintain/repo_in_maintain.py @@ -26,20 +26,19 @@ logger = logging.getLogger("ac") class CheckRepoInMaintain(BaseCheck): - def __init__(self, workspace, repo): - super(CheckRepoInMaintain, self).__init__(workspace, repo) + def __init__(self, workspace, repo, conf=None): + super(CheckRepoInMaintain, self).__init__(workspace, repo, conf) def __call__(self, *args, **kwargs): logger.info("check %s branch whether in maintain...", self._repo) - logger.debug("args: %s, kwargs: %s", args, kwargs) + antipoisoning_conf = kwargs.get("antipoison", {}) self._branch = kwargs.get("tbranch") - self._token = kwargs.get("token") + self._token = antipoisoning_conf.get("access_token", "") - self.run() + return self.start_check_with_order("repo_in_maintain") def load_yml(self): - logger.info("start load package management yaml") base_url = "https://gitee.com/api/v5/repos/openeuler/release-management/raw" url = f"{base_url}/{self._branch}/delete/pckg-mgmt.yaml?access_token={self._token}" @@ -51,7 +50,7 @@ class CheckRepoInMaintain(BaseCheck): dct = yaml.safe_load(response.content) return dct - def run(self): + def check_repo_in_maintain(self): yml = self.load_yml() del_repos = [x.get("name") for x in yml.get("packages")] if yml else [] -- Gitee From f976609d24c61fa5773cef12bbc49e2f466a7f49 Mon Sep 17 00:00:00 2001 From: yao-xiaobai <17625331900@163.com> Date: Thu, 13 Feb 2025 16:23:24 +0800 Subject: [PATCH 3/3] code fmt --- src/ac/acl/repo_in_maintain/repo_in_maintain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ac/acl/repo_in_maintain/repo_in_maintain.py b/src/ac/acl/repo_in_maintain/repo_in_maintain.py index 4898b42..4f95e20 100644 --- a/src/ac/acl/repo_in_maintain/repo_in_maintain.py +++ b/src/ac/acl/repo_in_maintain/repo_in_maintain.py @@ -45,7 +45,7 @@ class CheckRepoInMaintain(BaseCheck): response = requests.get(url) if response.status_code != 200: logger.info(f"request package management failure: {response.text}") - return + return {} dct = yaml.safe_load(response.content) return dct -- Gitee