Skip to content

Commit

Permalink
修复错误,优化代码
Browse files Browse the repository at this point in the history
  • Loading branch information
chenmozhijin committed Sep 25, 2024
1 parent b4f15d2 commit 1c1467e
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 19 deletions.
6 changes: 3 additions & 3 deletions build_helper/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ def get_cache_restore_key(openwrt: OpenWrt, cfg: dict) -> str:
def prepare(cfg: dict) -> None:
context = Context()
logger.debug("job: %s", context.job)
setup_env(context.job in ("build-packages", "build-ImageBuilder", "build-images-releases"), context.job in ("build-packages", "build-ImageBuilder", "build-images-releases"))
setup_env(context.job in ("build-packages", "build-ImageBuilder", "build-images-releases"),
context.job in ("build-packages", "build-ImageBuilder", "build-images-releases"))

tmpdir = paths.get_tmpdir()

Expand Down Expand Up @@ -251,5 +252,4 @@ def build_images(cfg: dict) -> None:
raise RuntimeError(msg)

logger.info("准备上传...")
files = [f for f in os.listdir(os.path.join(ib.path, "bin", "targets", target, subtarget)) if os.path.isfile(f)]
uploader.add(f"firmware-{cfg['name']}", files, retention_days=1, compression_level=0)
uploader.add(f"firmware-{cfg['name']}", os.path.join(ib.path, "bin", "targets", target, subtarget), retention_days=1, compression_level=0)
10 changes: 2 additions & 8 deletions build_helper/utils/openwrt.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@

from .logger import logger
from .network import request_get
from .paths import paths
from .utils import apply_patch


Expand Down Expand Up @@ -482,15 +481,10 @@ def make_info(self) -> None:
subprocess.run(["make", "info"], cwd=self.path, check=True)

def make_manifest(self) -> None:
env = os.environ.copy()
env["PACKAGES"] = " ".join(self.get_packages())
subprocess.run(["make", "manifest"], cwd=self.path, check=True, env=env)
subprocess.run(["make", "manifest", f'PACKAGES={" ".join(self.get_packages())}'], cwd=self.path, check=True)

def make_image(self) -> None:
env = os.environ.copy()
env["PACKAGES"] = " ".join(self.get_packages())
env["FILES"] = os.path.join(self.path, "files")
subprocess.run(["make", "image"], cwd=self.path, check=True, env=env)
subprocess.run(["make", "image", f'PACKAGES={" ".join(self.get_packages())}', f'FILES={os.path.join(self.path, "files")}'], cwd=self.path, check=True)

def get_packages(self) -> list[str]:
packages = []
Expand Down
17 changes: 10 additions & 7 deletions build_helper/utils/repo.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,19 @@ def del_cache(key_prefix: str) -> None:
logger.error('Failed to get caches list')

def new_release(cfg: dict, assets: list[str], body: str) -> None:
suffix = f"({cfg["target"]}-{cfg["subtarget"]})-[{cfg["compile"]["openwrt_tag/branch"]}]-{cfg["name"]}"
name = "v" + datetime.now(timezone(timedelta(hours=8))).strftime('%Y.%m.%d') + "-{n}" + suffix
release_suffix = f"({cfg["target"]}-{cfg["subtarget"]})-[{cfg["compile"]["openwrt_tag/branch"]}]-{cfg["name"]}"
tag_suffix = f"({cfg["target"]}-{cfg["subtarget"]})-({cfg["compile"]["openwrt_tag/branch"]})-{cfg["name"]}"
f_release_name = "v" + datetime.now(timezone(timedelta(hours=8))).strftime('%Y.%m.%d') + "-{n}" + release_suffix
f_tag_name = "v" + datetime.now(timezone(timedelta(hours=8))).strftime('%Y.%m.%d') + "-{n}" + tag_suffix

releases = repo.get_releases()
releases_names = [release.tag_name for release in releases]
tag_names = [release.tag_name for release in releases]

i = 0
while True:
release_name = name.format(n=i)
if release_name not in releases_names:
tag_name = f_tag_name.format(n=i)
if tag_name not in tag_names:
release_name = f_release_name.format(n=i)
break
i += 1

Expand All @@ -82,7 +85,7 @@ def new_release(cfg: dict, assets: list[str], body: str) -> None:
head_commit = head_commit.raw.hex()

logger.info("创建新发布: %s", release_name)
release = repo.create_git_tag_and_release(release_name,
release = repo.create_git_tag_and_release(tag_name,
f"发布新版本:{release_name}",
release_name,
body,
Expand All @@ -96,7 +99,7 @@ def new_release(cfg: dict, assets: list[str], body: str) -> None:

try:
for release in releases:
if release.tag_name.endswith(suffix) and release.tag_name != release_name:
if release.tag_name.endswith(tag_suffix) and release.tag_name != tag_name:
logger.info("删除旧版本: %s", release.tag_name)
release.delete_release()
except Exception:
Expand Down
5 changes: 4 additions & 1 deletion build_helper/utils/upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

import yaml

from .paths import paths
from .logger import logger
from .paths import paths


class UpLoader:
Expand All @@ -24,6 +24,9 @@ def add(self,
compression_level: int | None = None,
overwrite: bool | None = None,
include_hidden_files: bool | None = None) -> None:
if not path:
logger.warning(f"添加Artifact {name} 时没有指定任何要上传的文件, 跳过")
return
logger.debug(f"Add Artifact: {name} {path}")
if isinstance(path, list):
path = "\n".join(path)
Expand Down

0 comments on commit 1c1467e

Please sign in to comment.