diff --git a/common/parser_config.py b/common/parser_config.py index b4fcd4d67a4cb48452d5904ea70f98c8ae0a3c6e..d3ff9fdd58d5abaad4386286e75ef37172f0ac0a 100644 --- a/common/parser_config.py +++ b/common/parser_config.py @@ -68,6 +68,7 @@ class ParserConfigIni(object): self._init_obs_prj_root_path() self._init_obs_ignored_package() self._init_obs_include_project() + self._init_kernel_branch() def _init_branch_list(self): """ @@ -209,6 +210,17 @@ class ParserConfigIni(object): """ return self.obs_prj_root_path + def _init_kernel_branch(self): + """ + init openEuler kernel branch + """ + self.kernel_hck_branch = self.config.get("openEuler_kernel_branch", "hck_branch") + + def get_kernel_branch(self): + """ + get openEuler kernel branch + """ + return self.kernel_hck_branch if __name__ == "__main__": p = ParserConfigIni() diff --git a/config/config.ini b/config/config.ini index 9b5aadd1d4897dce495a61193a7d969a971be8a0..f032e06a885ef657dfb660f2dea6879328e20c53 100644 --- a/config/config.ini +++ b/config/config.ini @@ -126,3 +126,5 @@ path = /srv/obs/build name = kernel kata-containers runc openEuler-release openEuler-logos openEuler-indexhtml mozjs78 lxcfs-tools kata_integration isula-build docker containerd mingw-crt mingw-gcc mingw-wine-gecko wine wine-mono autotune igh-ethercat-xenomai obs_meta wrf risc-v-kernel dde-dock dde-network-utils rubik gcc-cross opencv WasmEngine [obs_include_project] name = openEuler:Factory openEuler:Epol openEuler:Mainline bringInRely openEuler:BaseTools openEuler:C openEuler:Common_Languages_Dependent_Tools openEuler:Erlang openEuler:Golang openEuler:Java openEuler:KernelSpace openEuler:Lua openEuler:Meson openEuler:MultiLanguage openEuler:Nodejs openEuler:Ocaml openEuler:Testing:Perl openEuler:Python openEuler:Qt openEuler:Ruby +[openEuler_kernel_branch] +hck_branch = openEuler-22.09-HCK diff --git a/core/gitee_to_obs.py b/core/gitee_to_obs.py index 86c864760523d8b52de51a0387752b1cc5f7a13a..1cfdc711b25e2810e06d799a9d4f34e579cce13f 100644 --- a/core/gitee_to_obs.py +++ b/core/gitee_to_obs.py @@ -70,6 +70,7 @@ class SYNCCode(object): self.sync_failed_rpms = [] self.obs_ignored_package = par.get_obs_ignored_package() self.obs_include_project = par.get_obs_include_project() + self.kernel_hck_branch = par.get_kernel_branch() def _write_date_to_file(self): """ @@ -173,21 +174,34 @@ class SYNCCode(object): kernel_tags = str(self.cmd.ssh_cmd("cat %s" % tag_path)[1].strip()).split("'")[1] log.info(kernel_tags) open_kernel_path = "%s/openEuler-kernel/kernel" % source_path + open_kernel_hck_path = "%s/openEuler-kernel/hck-kernel" % source_path open_kernel_git = "https://%s:%s@gitee.com/openeuler/kernel" % (self.giteeuser, self.giteeuserpwd) log.info(open_kernel_git) - ssh_rm_result = self.cmd.ssh_cmd("rm -rf %s" % open_kernel_path) - log.info(ssh_rm_result) + pull_flag = False for i in range(5): - ssh_clone_result = self.cmd.ssh_cmd("git lfs clone --depth=1 %s -b %s %s" % (open_kernel_git, + ssh_rm_result = self.cmd.ssh_cmd("rm -rf %s" % open_kernel_path) + log.info(ssh_rm_result) + self.cmd.ssh_cmd("git lfs clone --depth=1 %s -b %s %s" % (open_kernel_git, kernel_tags, open_kernel_path), 600) - pull_result_last = str(self.cmd.ssh_cmd('git -C %s pull' % open_kernel_path)[1].strip()).split("'")[1] - if "Already" in pull_result_last: - log.info(pull_result_last) - log.info("kernel gitee pull success") + pull_result = str(self.cmd.ssh_cmd('git -C %s pull' % open_kernel_path)[1].strip()).split("'")[1] + if "Already" in pull_result: + pull_flag = True + + #clone hck code if branch == openEuler-22.09 + if self.gitee_branch == 'openEuler-22.09': + ssh_rm_result = self.cmd.ssh_cmd("rm -rf %s" % open_kernel_hck_path) + log.info(ssh_rm_result) + self.cmd.ssh_cmd("git lfs clone --depth=1 %s -b %s %s" % (open_kernel_git,self.kernel_hck_branch,open_kernel_hck_path), 600) + pull_result = str(self.cmd.ssh_cmd('git -C %s pull' % open_kernel_hck_path)[1].strip()).split("'")[1] + if "Already" not in pull_result: + pull_flag = False + + #check code download result + if pull_flag: + log.info("kernel code pull success") return True else: - clear_repo = self.cmd.ssh_cmd("rm -rf %s" % open_kernel_path) - log.info("clear_repo: %s" % clear_repo) + log.info("kernel code pull error,continue") continue log.error("kernel gitee pull failed") return False