1
0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-11-10 05:01:43 +01:00
BLAKE3/.github/workflows/build_b3sum.py
Jack O'Connor ba468fbb4f build b3sum binaries in CI for new tags
These configs and code are adapted from the CI workflow in
https://github.com/oconnor663/blake3-py, especially the
upload_github_release_asset.py script, which is copied verbatim.
2020-04-28 11:04:29 -04:00

38 lines
1.1 KiB
Python

#! /usr/bin/env python3
from pathlib import Path
import platform
import shutil
import subprocess
import sys
ROOT = Path(__file__).parent.parent.parent
RUST_TARGET = sys.argv[1]
subprocess.run(["cargo", "build", "--target", sys.argv[1], "--release"],
cwd=ROOT / "b3sum")
if platform.system() == "Windows":
original_exe_name = "b3sum.exe"
else:
original_exe_name = "b3sum"
if platform.system() == "Windows":
new_exe_name = "b3sum_windows_x64_bin.exe"
elif platform.system() == "Darwin":
new_exe_name = "b3sum_macos_x64_bin"
elif platform.system() == "Linux":
new_exe_name = "b3sum_linux_x64_bin"
else:
raise RuntimeError("Unexpected platform: " + platform.system())
# Copy the built binary so that it has the upload name we want.
out_dir = ROOT / "b3sum/target" / RUST_TARGET / "release"
original_exe_path = str(out_dir / original_exe_name)
new_exe_path = str(out_dir / new_exe_name)
print("copying", repr(original_exe_path), "to", repr(new_exe_path))
shutil.copyfile(original_exe_path, new_exe_path)
# This lets the subsequent upload step get the filepath.
print("::set-output name=bin_path::" + new_exe_path)