Files
mdrs-client-rust/Cargo.toml
T
orrisroot 3578a39d27
Release / create-release (push) Failing after 31s
Release / build-linux-x86_64 (push) Has been skipped
Release / build-linux-aarch64 (push) Has been skipped
Release / build-macos (aarch64-apple-darwin) (push) Has been skipped
Release / build-macos (x86_64-apple-darwin) (push) Has been skipped
Release / build-windows (push) Has been skipped
feat: implement selfupdate command
- Fetch latest release from Gitea API using existing reqwest client
- Match release asset by BUILD_TARGET triple (supports .tar.gz and .zip)
- Compare versions; show confirmation prompt (skippable with -y/--yes)
- Download archive, extract binary, atomically replace self via self-replace
- Support private repositories via GITEA_TOKEN environment variable
- Expose BUILD_TARGET in build.rs for compile-time target triple detection
- Add .gitea/workflows/release.yml for multi-platform release builds on tag push

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-17 20:15:19 +09:00

37 lines
876 B
TOML

[package]
name = "mdrs-client-rust"
version = "0.1.1"
edition = "2024"
license = "MIT"
authors = ["Neuroinformatics Unit, RIKEN CBS"]
description = "A command-line client for uploading and downloading files to and from an MDRS-based repository."
[[bin]]
name = "mdrs"
path = "src/main.rs"
[dependencies]
clap = { version = "4.5", features = ["derive"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "rustls-tls"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.37", features = ["full"] }
futures = "0.3"
dirs = "5.0"
anyhow = "1.0.102"
configparser = "3.1.0"
validators = "0.25.3"
sha2 = "0.10"
rpassword = "7.0"
base64 = "0.22"
fs2 = "0.4"
ctrlc = "3"
os_info = "3"
dotenvy = "0.15"
unicode-normalization = "0.1"
self-replace = "1"
tar = "0.4"
flate2 = "1"
zip = "2"
tempfile = "3"