INNER CODE UNIT · Python
write_zip
zhinkgit/embeddedskills · .github/maintenance/package_release.py:95
def write_zip(archive: Path, root: Path, files: list[Path]) -> None:
with zipfile.ZipFile(archive, "w", compression=zipfile.ZIP_DEFLATED) as output:
for path in sorted(files, key=lambda item: item.as_posix()):
relative = path.relative_to(root).as_posix()
info = zipfile.ZipInfo(relative, FIXED_TIMESTAMP)
info.compress_type = zipfile.ZIP_DEFLATED
info.external_attr = 0o100644 << 16
output.writestr(info, path.read_bytes())
def build_archives(root: Path, output_directory: Path, version: str) -> list[Path]:
root = root.resolve()
output_directory = output_directory.resolve()
version = validate_version(version)
if output_directory == root:
raise ValueError("release output directory must not be the repository root")
skill_directories: list[Path] = []