From 0bc819fb1ac5116e7c2a67b9ae7e87c3dfa40623 Mon Sep 17 00:00:00 2001 From: zhengyaohui Date: Mon, 15 Nov 2021 14:25:40 +0800 Subject: [PATCH 1/2] remove extra empty folder from last PR --- openeuler-jenkins | 1 - 1 file changed, 1 deletion(-) delete mode 160000 openeuler-jenkins diff --git a/openeuler-jenkins b/openeuler-jenkins deleted file mode 160000 index 3328552..0000000 --- a/openeuler-jenkins +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3328552eb925eb44dc632d69cbca8e213ba3dae5 -- Gitee From e6ad021ad135827ad8b3cf738cd4e0b0813196cf Mon Sep 17 00:00:00 2001 From: zhengyaohui Date: Mon, 15 Nov 2021 16:05:49 +0800 Subject: [PATCH 2/2] support select which spec files to build --- src/build/osc_build_k8s.py | 13 ++++++++----- src/proxy/obs_proxy.py | 11 ++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/build/osc_build_k8s.py b/src/build/osc_build_k8s.py index e28ba34..dd9b32e 100755 --- a/src/build/osc_build_k8s.py +++ b/src/build/osc_build_k8s.py @@ -71,11 +71,12 @@ class SinglePackageBuild(object): """ return OBSProxy.list_repos_of_arch(project, self._package, self._arch, show_exclude=True) - def build_obs_repos(self, project, repos, work_dir, code_dir): + def build_obs_repos(self, project, repos, spec, work_dir, code_dir): """ build :param project: 项目名 :param repos: obs repo + :param spec: 指定spec文件 :param code_dir: 码云代码在本地路径 :param work_dir: :return: @@ -105,7 +106,7 @@ class SinglePackageBuild(object): continue root_build = repo["mpac"] in self.PACKAGES_USE_ROOT if not OBSProxy.build_package( - project, self._package, repo["repo"], self._arch, repo["mpac"], + project, self._package, repo["repo"], self._arch, spec, repo["mpac"], root_build=root_build, disable_cpio=True): logger.error("build {} ... failed".format(repo["repo"])) return 3 @@ -193,9 +194,10 @@ class SinglePackageBuild(object): return True - def build(self, work_dir, code_dir): + def build(self, spec, work_dir, code_dir): """ 入口 + :param spec: 指定spec文件 :param work_dir: obs工作目录 :param code_dir: 代码目录 :return: @@ -219,7 +221,7 @@ class SinglePackageBuild(object): logger.debug("build obs repos: {}".format(obs_repos)) has_any_repo_build = True - ret = self.build_obs_repos(project, obs_repos, work_dir, code_dir) + ret = self.build_obs_repos(project, obs_repos, spec, work_dir, code_dir) if ret > 0: logger.debug("build run return {}".format(ret)) logger.error("build {} {} {} ... {}".format(project, self._package, self._arch, "failed")) @@ -254,6 +256,7 @@ def init_args(): parser.add_argument("-t", type=str, dest="account", help="gitee account") parser.add_argument("-o", type=str, dest="owner", default="src-openeuler", help="gitee owner") + parser.add_argument("--spec", type=str, dest="spec", default="", help="spec files") return parser.parse_args() @@ -316,7 +319,7 @@ if "__main__" == __name__: dd.set_attr_stime("spb.build.stime") spb = SinglePackageBuild(args.package, args.arch, args.branch) - rs = spb.build(args.workspace, args.code) + rs = spb.build(args.spec, args.workspace, args.code) dd.set_attr("spb.build.result", "failed" if rs else "successful") dd.set_attr_etime("spb.build.etime") diff --git a/src/proxy/obs_proxy.py b/src/proxy/obs_proxy.py index 6724748..9ccabc5 100644 --- a/src/proxy/obs_proxy.py +++ b/src/proxy/obs_proxy.py @@ -115,13 +115,14 @@ class OBSProxy(object): return True @staticmethod - def build_package(project, package, repo, arch, mpac, debug=False, root_build=False, disable_cpio=False): + def build_package(project, package, repo, arch, spec, mpac, debug=False, root_build=False, disable_cpio=False): """ build :param project: :param package: :param repo: :param arch: + :param spec: :param mpac: multibuild package :param debug: :return: @@ -130,11 +131,11 @@ class OBSProxy(object): root_opt = "--userootforbuild" if root_build else "" debuginfo_opt = "--disable-debuginfo" if not debug else "" disable_cpio_bulk = "--disable-cpio-bulk-download" if disable_cpio else "" - cmd = "cd {}; osc build {} {} {} {} {} --no-verify --clean --noservice -M {}".format( - package_path, repo, arch, root_opt, debuginfo_opt, disable_cpio_bulk, mpac) + cmd = "cd {}; osc build {} {} {} {} {} {} --no-verify --clean --noservice -M {}".format( + package_path, repo, arch, spec, root_opt, debuginfo_opt, disable_cpio_bulk, mpac) - logger.info("osc build {} {} {} {} {} --no-verify --clean --noservice -M {}".format( - repo, arch, root_opt, debuginfo_opt, disable_cpio_bulk, mpac)) + logger.info("osc build {} {} {} {} {} {} --no-verify --clean --noservice -M {}".format( + repo, arch, spec, root_opt, debuginfo_opt, disable_cpio_bulk, mpac)) ret, _, _ = shell_cmd_live(cmd, verbose=True) if ret: -- Gitee