Prove clean native release artifacts (#106)
Some checks failed
API and SemVer surface / api-surface (push) Failing after 1m28s
Native release artifact audit / audit (push) Failing after 1h6m34s
Native code generation / deterministic (push) Failing after 2m15s
Concurrency and resource soak audit / soak (push) Failing after 6m33s
Documentation / documentation (push) Failing after 2m0s
Imaging and meshing gate / native (push) Failing after 55s
JPEG 2000 feature / linux (push) Successful in 2m46s
performance evidence / audit (push) Failing after 13m45s
Release platform and feature matrix / audit (push) Successful in 1m3s
Native Rust workspace compile / compile (push) Failing after 55s
Skia feature / linux (push) Successful in 31m58s
Dependency and supply-chain audit / audit (push) Failing after 9m34s
Release platform and feature matrix / matrix (false, linux-stable-minimal, x86_64-unknown-linux-gnu, stable) (push) Failing after 10m2s
Release platform and feature matrix / matrix (false, macos-stable-portable, x86_64-apple-darwin, stable) (push) Failing after 2m0s
Release platform and feature matrix / matrix (false, windows-stable-portable, x86_64-pc-windows-gnu, stable) (push) Failing after 1m56s
Release platform and feature matrix / matrix (true, linux-msrv-portable, x86_64-unknown-linux-gnu, 1.96.0) (push) Failing after 6m19s
Release platform and feature matrix / matrix (true, linux-stable-default, x86_64-unknown-linux-gnu, stable) (push) Failing after 6m57s
Release platform and feature matrix / matrix (true, linux-stable-features, x86_64-unknown-linux-gnu, stable) (push) Failing after 7m6s
Release platform and feature matrix / matrix (true, linux-stable-release-surface, x86_64-unknown-linux-gnu, stable) (push) Failing after 8m8s

This commit is contained in:
2026-08-12 04:57:37 +00:00
parent 738fe3933e
commit dceb394378
40 changed files with 20112 additions and 154 deletions

View File

@@ -4,16 +4,18 @@ version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "Native diagnostic and example programs for the MetaCrate LibreMetaverse rewrite"
publish = false
[dependencies]
clap = { version = "4.5", features = ["derive"] }
libremetaverse = { path = "../crates/libremetaverse", default-features = false }
libremetaverse-imaging = { path = "../crates/libremetaverse-imaging", features = ["jpeg2000"] }
libremetaverse-imaging-skia = { path = "../crates/libremetaverse-imaging-skia", features = ["skia"] }
libremetaverse-structured-data = { path = "../crates/libremetaverse-structured-data" }
libremetaverse-voice-vivox = { path = "../crates/libremetaverse-voice-vivox" }
libremetaverse-voice-webrtc = { path = "../crates/libremetaverse-voice-webrtc" }
libremetaverse = { version = "0.0.1", path = "../crates/libremetaverse", default-features = false }
libremetaverse-imaging = { version = "0.0.1", path = "../crates/libremetaverse-imaging", features = ["jpeg2000"] }
libremetaverse-imaging-skia = { version = "0.0.1", path = "../crates/libremetaverse-imaging-skia", features = ["skia"] }
libremetaverse-structured-data = { version = "0.0.1", path = "../crates/libremetaverse-structured-data" }
libremetaverse-voice-vivox = { version = "0.0.1", path = "../crates/libremetaverse-voice-vivox" }
libremetaverse-voice-webrtc = { version = "0.0.1", path = "../crates/libremetaverse-voice-webrtc" }
regex = "1.12"
roxmltree = "0.21.1"
serde = { version = "1", features = ["derive"] }

View File

@@ -1,46 +1,12 @@
use std::process::Command;
fn main() {
println!("cargo:rerun-if-env-changed=METACRATE_RUST_COMMIT");
println!("cargo:rerun-if-changed=../.git/HEAD");
println!("cargo:rerun-if-changed=../.git/packed-refs");
if let Some(reference) = git_reference() {
println!("cargo:rerun-if-changed=../.git/{reference}");
}
let commit = std::env::var("METACRATE_RUST_COMMIT")
.ok()
.filter(|value| valid_commit(value))
.or_else(git_commit)
.unwrap_or_else(|| "unavailable".to_owned());
println!("cargo:rustc-env=METACRATE_RUST_COMMIT={commit}");
}
fn git_reference() -> Option<String> {
let output = Command::new("git")
.args(["symbolic-ref", "--quiet", "HEAD"])
.output()
.ok()?;
let reference = String::from_utf8(output.stdout).ok()?;
let reference = reference.trim();
(output.status.success()
&& reference.starts_with("refs/")
&& reference
.bytes()
.all(|byte| byte.is_ascii_alphanumeric() || b"/-_.".contains(&byte)))
.then(|| reference.to_owned())
}
fn git_commit() -> Option<String> {
let output = Command::new("git")
.args(["rev-parse", "--verify", "HEAD"])
.output()
.ok()?;
let commit = String::from_utf8(output.stdout).ok()?;
let commit = commit.trim();
(output.status.success() && valid_commit(commit)).then(|| commit.to_owned())
}
fn valid_commit(value: &str) -> bool {
matches!(value.len(), 40 | 64) && value.bytes().all(|byte| byte.is_ascii_hexdigit())
}