fix: tag Labrinth and Daedalus Docker builds with the right metadata (#4147)

* fix: tag Labrinth and Daedalus Docker builds with the right metadata

* chore: make it clear that Labrinth license is AGPL-3.0-only
This commit is contained in:
Alejandro González
2025-08-16 17:47:11 +02:00
committed by GitHub
parent 8e0732bf01
commit 6f59f4c110
8 changed files with 70 additions and 46 deletions
+13 -32
View File
@@ -1,40 +1,23 @@
use std::path::Path;
use std::process::Command;
use chrono::Local;
use dotenv_build::Config;
fn main() {
let output = Command::new("git")
.arg("rev-parse")
.arg("HEAD")
.output()
.expect("`git` invocation to succeed");
println!("cargo:rerun-if-changed=migrations");
let git_hash = String::from_utf8(output.stdout)
.expect("valid UTF-8 output from `git` invocation");
println!("cargo::rerun-if-changed=../../.git/HEAD");
println!("cargo::rustc-env=GIT_HASH={}", git_hash.trim());
let timedate_fmt = Local::now().format("%F @ %I:%M %p");
let timezone_fmt = iana_time_zone::get_timezone()
.map(|tz| format!(" ({tz})"))
.unwrap_or_default();
let comptime = timedate_fmt.to_string() + timezone_fmt.as_str();
println!("cargo::rustc-env=COMPILATION_DATE={comptime}");
// trick to get compilation profile
let profile = std::env::var("OUT_DIR")
.expect("OUT_DIR to be set")
.split(std::path::MAIN_SEPARATOR)
.nth_back(3)
.unwrap_or("unknown")
.to_string();
println!("cargo::rustc-env=COMPILATION_PROFILE={profile}");
println!(
"cargo::rustc-env=COMPILATION_DATE={}",
format_args!(
"{date} ({tz})",
date = Local::now().format("%F @ %I:%M %p"),
tz = iana_time_zone::get_timezone().unwrap_or_default()
)
);
println!(
"cargo::rustc-env=COMPILATION_PROFILE={}",
std::env::var("PROFILE").as_deref().unwrap_or("unknown")
);
dotenv_build::output(Config {
filename: Path::new(".build.env"),
@@ -42,6 +25,4 @@ fn main() {
fail_if_missing_dotenv: false,
})
.unwrap();
println!("cargo:rerun-if-changed=migrations");
}