| #! /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) |