diff --git a/scripts/dl_pyapp.sh b/scripts/dl_pyapp.sh new file mode 100755 index 0000000..8117d64 --- /dev/null +++ b/scripts/dl_pyapp.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +echo "$PWD" +url="https://github.com/ofek/pyapp/releases/latest/download/source.tar.gz" +output="${PWD}/pyapp-source.tar.gz" +curl "$url" -Lo "$output" +tar -xzf "$output" +mv ${PWD}/pyapp-v* ${PWD}/pyapp-latest +rm "$output" diff --git a/scripts/release.py b/scripts/release.py new file mode 100644 index 0000000..50fe167 --- /dev/null +++ b/scripts/release.py @@ -0,0 +1,41 @@ +import build +import os +import subprocess + +from importlib import metadata +from pathlib import Path +from typing import Any + +from dzgui.const.constants import APP_NAME_LOWER + +root = Path(__file__).resolve().parents[1] +output = root.joinpath("dist") + +pyapp_dir = root.joinpath("pyapp-latest") + +builder = build.ProjectBuilder(root) +builder.build("wheel", output_directory=output) + +interpreter="py3" +arch="none" +target="any" +version = metadata.version(APP_NAME_LOWER) +filename = f"{APP_NAME_LOWER}-{version}-{interpreter}-{arch}-{target}.whl" + +wheel = str(output.joinpath(filename)) +entrypoint = "dzgui.main:main" + +env = os.environ +env["PYAPP_PROJECT_VERSION"] = version +env["PYAPP_PROJECT_NAME"] = APP_NAME_LOWER +env["PYAPP_EXEC_SPEC"] = entrypoint +env["PYAPP_PROJECT_PATH"] = wheel +env["PYAPP_DISTRIBUTION_EMBED"] = "1" +env["PYAPP_PYTHON_VERSION"] = "3.13" + +proc = subprocess.run(["cargo", "build", "--release"], env=env, cwd=pyapp_dir) +if proc.returncode == 0: + output_exe = root.joinpath("pyapp-latest/target/release/pyapp") + release_exe = output.joinpath("dzgui") + output_exe.rename(release_exe) + print(f"Wrote output to '{output_exe}'")