ci: add binary package path compatibility aliases

This commit is contained in:
IgorRachkov
2026-06-14 16:56:48 +03:00
parent cdd8c292db
commit 5fb37bfbaf
+26 -1
View File
@@ -49,6 +49,30 @@ def write(path: Path, text: str) -> None:
path.write_text(text, encoding="utf-8")
def write_archive_checksum(archive: Path) -> None:
write(archive.with_suffix(archive.suffix + ".sha256"), f"{sha256(archive)} {archive.name}\n")
def create_compatibility_aliases(out_dir: Path, archive: Path) -> None:
"""Create both linux-x86_64 and linux_x86_64 artifact paths.
Older workflow edits used the underscore form while the target name uses the
hyphen form. Keeping both names makes the artifact packaging tolerant to
either path without changing the release contents.
"""
out_alias = Path(str(out_dir).replace("linux-x86_64", "linux_x86_64"))
if out_alias != out_dir:
if out_alias.exists():
shutil.rmtree(out_alias)
shutil.copytree(out_dir, out_alias)
archive_alias = Path(str(archive).replace("linux-x86_64", "linux_x86_64"))
if archive_alias != archive:
archive_alias.parent.mkdir(parents=True, exist_ok=True)
shutil.copy2(archive, archive_alias)
write_archive_checksum(archive_alias)
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--release-dir", type=Path, required=True)
@@ -100,7 +124,8 @@ def main() -> None:
archive.parent.mkdir(parents=True, exist_ok=True)
with tarfile.open(archive, "w:gz") as tar:
tar.add(out_dir, arcname=out_dir.name)
write(archive.with_suffix(archive.suffix + ".sha256"), f"{sha256(archive)} {archive.name}\n")
write_archive_checksum(archive)
create_compatibility_aliases(out_dir, archive)
if __name__ == "__main__":