T25: release builds: scripts/windows-zip.ps1 zips elyterminal.exe, the icon inside as resource 1 (build.rs, embed-resource), a GUI program carrying its C runtime, git started without a console; scripts/linux-tar.sh builds on Debian 12, glibc 2.35 for this build, with a desktop entry and the icon; every window names itself com.zacharyzhang.elyterminal; rust-toolchain.toml pins 1.95.0, and CI installs it without rustup default
CI / platforms (windows-latest) (push) Successful in 1m35s
CI / platforms (ubuntu-24.04) (push) Successful in 3m14s
CI / macos (push) Successful in 9m49s

This commit is contained in:
ZacharyZhang-NY committed 2026-10-15 16:50:22 -04:00
1 parent 2b8ae5d026
commit 0075667ab1
21 files changed
+211 -39

No files matched your search

+8 -1
View File
@@ -25,10 +25,17 @@ fn line<A: AsRef<OsStr>>(args: &[A]) -> String {
args.join(" ")
}
/// Keeps Windows from opening a console window for git.
#[cfg(windows)]
const CREATE_NO_WINDOW: u32 = 0x0800_0000;
/// Runs git in `folder`: English messages, literal paths, no lock the user's own git could meet; `input` feeds stdin.
fn git<A: AsRef<OsStr>>(folder: &Path, args: &[A], input: &[u8]) -> anyhow::Result<Output> {
let named = || format!("git: `git {}` in {}", line(args), folder.display());
let mut child = Command::new("git")
let mut command = Command::new("git");
#[cfg(windows)]
std::os::windows::process::CommandExt::creation_flags(&mut command, CREATE_NO_WINDOW);
let mut child = command
.arg("-C")
.arg(folder)
.args(["--no-optional-locks", "--literal-pathspecs"])