Merge commit '1eded3619d
' into sync_cg_clif-2023-07-22
This commit is contained in:
commit
36708123c1
30 changed files with 668 additions and 170 deletions
|
@ -3,6 +3,7 @@ use std::fs;
|
|||
use std::io::{self, Write};
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::process::{self, Command, Stdio};
|
||||
use std::sync::atomic::{AtomicBool, Ordering};
|
||||
|
||||
use super::path::{Dirs, RelPath};
|
||||
|
||||
|
@ -136,10 +137,13 @@ pub(crate) fn hyperfine_command(
|
|||
warmup: u64,
|
||||
runs: u64,
|
||||
prepare: Option<&str>,
|
||||
cmds: &[&str],
|
||||
cmds: &[(&str, &str)],
|
||||
markdown_export: &Path,
|
||||
) -> Command {
|
||||
let mut bench = Command::new("hyperfine");
|
||||
|
||||
bench.arg("--export-markdown").arg(markdown_export);
|
||||
|
||||
if warmup != 0 {
|
||||
bench.arg("--warmup").arg(warmup.to_string());
|
||||
}
|
||||
|
@ -152,7 +156,12 @@ pub(crate) fn hyperfine_command(
|
|||
bench.arg("--prepare").arg(prepare);
|
||||
}
|
||||
|
||||
bench.args(cmds);
|
||||
for &(name, cmd) in cmds {
|
||||
if name != "" {
|
||||
bench.arg("-n").arg(name);
|
||||
}
|
||||
bench.arg(cmd);
|
||||
}
|
||||
|
||||
bench
|
||||
}
|
||||
|
@ -167,6 +176,8 @@ pub(crate) fn git_command<'a>(repo_dir: impl Into<Option<&'a Path>>, cmd: &str)
|
|||
.arg("user.email=dummy@example.com")
|
||||
.arg("-c")
|
||||
.arg("core.autocrlf=false")
|
||||
.arg("-c")
|
||||
.arg("commit.gpgSign=false")
|
||||
.arg(cmd);
|
||||
if let Some(repo_dir) = repo_dir.into() {
|
||||
git_cmd.current_dir(repo_dir);
|
||||
|
@ -259,6 +270,33 @@ pub(crate) fn is_ci_opt() -> bool {
|
|||
env::var("CI_OPT").is_ok()
|
||||
}
|
||||
|
||||
static IN_GROUP: AtomicBool = AtomicBool::new(false);
|
||||
pub(crate) struct LogGroup {
|
||||
is_gha: bool,
|
||||
}
|
||||
|
||||
impl LogGroup {
|
||||
pub(crate) fn guard(name: &str) -> LogGroup {
|
||||
let is_gha = env::var("GITHUB_ACTIONS").is_ok();
|
||||
|
||||
assert!(!IN_GROUP.swap(true, Ordering::SeqCst));
|
||||
if is_gha {
|
||||
eprintln!("::group::{name}");
|
||||
}
|
||||
|
||||
LogGroup { is_gha }
|
||||
}
|
||||
}
|
||||
|
||||
impl Drop for LogGroup {
|
||||
fn drop(&mut self) {
|
||||
if self.is_gha {
|
||||
eprintln!("::endgroup::");
|
||||
}
|
||||
IN_GROUP.store(false, Ordering::SeqCst);
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn maybe_incremental(cmd: &mut Command) {
|
||||
if is_ci() || std::env::var("CARGO_BUILD_INCREMENTAL").map_or(false, |val| val == "false") {
|
||||
// Disabling incr comp reduces cache size and incr comp doesn't save as much on CI anyway
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue