summaryrefslogtreecommitdiffstats
path: root/src/tools/build_helper
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/build_helper')
-rw-r--r--src/tools/build_helper/src/ci.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/tools/build_helper/src/ci.rs b/src/tools/build_helper/src/ci.rs
index 9f113c72b..d2e9c324a 100644
--- a/src/tools/build_helper/src/ci.rs
+++ b/src/tools/build_helper/src/ci.rs
@@ -38,3 +38,27 @@ impl CiEnv {
}
}
}
+
+pub mod gha {
+ /// All github actions log messages from this call to the Drop of the return value
+ /// will be grouped and hidden by default in logs. Note that nesting these does
+ /// not really work.
+ pub fn group(name: impl std::fmt::Display) -> Group {
+ if std::env::var_os("GITHUB_ACTIONS").is_some() {
+ eprintln!("::group::{name}");
+ }
+ Group(())
+ }
+
+ /// A guard that closes the current github actions log group on drop.
+ #[must_use]
+ pub struct Group(());
+
+ impl Drop for Group {
+ fn drop(&mut self) {
+ if std::env::var_os("GITHUB_ACTIONS").is_some() {
+ eprintln!("::endgroup::");
+ }
+ }
+ }
+}