forked from the-distro/ofborg
strip the x86_64-linux suffix on NixOS test build instsructions until all the linux builders are updated.
This commit is contained in:
parent
1b19b4ba2f
commit
4aaab0644a
1 changed files with 44 additions and 6 deletions
|
@ -191,6 +191,20 @@ impl<'a, 'b> JobActions<'a, 'b> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn strip_x8664linux_arch_suffix(attr: &str) -> &str {
|
||||||
|
if !attr.starts_with("tests.") {
|
||||||
|
return attr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !attr.ends_with(".x86_64-linux") {
|
||||||
|
return attr;
|
||||||
|
}
|
||||||
|
|
||||||
|
let trim_at = attr.len() - 13;
|
||||||
|
|
||||||
|
return &attr[0..trim_at];
|
||||||
|
}
|
||||||
|
|
||||||
impl notifyworker::SimpleNotifyWorker for BuildWorker {
|
impl notifyworker::SimpleNotifyWorker for BuildWorker {
|
||||||
type J = buildjob::BuildJob;
|
type J = buildjob::BuildJob;
|
||||||
|
|
||||||
|
@ -236,11 +250,18 @@ impl notifyworker::SimpleNotifyWorker for BuildWorker {
|
||||||
_ => "./default.nix",
|
_ => "./default.nix",
|
||||||
};
|
};
|
||||||
|
|
||||||
// Note: Don't change the system limiter until the system isn't
|
let attrs = match job.subset {
|
||||||
// hardcoded to x86_64-linux in the githubcommentfilter
|
Some(commentparser::Subset::NixOS) => {
|
||||||
if buildfile == "./nixos/release.nix" && self.system != "x86_64-linux" {
|
job.attrs
|
||||||
// NixOS jobs get routed to all builders, even though darwin
|
.clone()
|
||||||
// cannot build them.
|
.into_iter()
|
||||||
|
.map(|attr| strip_x8664linux_arch_suffix(&attr).to_owned())
|
||||||
|
.collect()
|
||||||
|
}
|
||||||
|
_ => job.attrs.clone(),
|
||||||
|
};
|
||||||
|
|
||||||
|
if buildfile == "./nixos/release.nix" && self.system == "x86_64-darwin" {
|
||||||
actions.nasty_hack_linux_only();
|
actions.nasty_hack_linux_only();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -266,7 +287,7 @@ impl notifyworker::SimpleNotifyWorker for BuildWorker {
|
||||||
let cmd = self.nix.safely_build_attrs_cmd(
|
let cmd = self.nix.safely_build_attrs_cmd(
|
||||||
refpath.as_ref(),
|
refpath.as_ref(),
|
||||||
buildfile,
|
buildfile,
|
||||||
job.attrs.clone(),
|
attrs,
|
||||||
);
|
);
|
||||||
|
|
||||||
actions.log_started();
|
actions.log_started();
|
||||||
|
@ -427,4 +448,21 @@ mod tests {
|
||||||
assert_contains_job(&mut actions, "success\":true");
|
assert_contains_job(&mut actions, "success\":true");
|
||||||
assert_eq!(actions.next(), Some(worker::Action::Ack));
|
assert_eq!(actions.next(), Some(worker::Action::Ack));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_strip_x8664linux_arch_suffix() {
|
||||||
|
assert_eq!(strip_x8664linux_arch_suffix(""), "");
|
||||||
|
assert_eq!(
|
||||||
|
strip_x8664linux_arch_suffix("tests.foo.bar"),
|
||||||
|
"tests.foo.bar"
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
strip_x8664linux_arch_suffix("foo.bar.x86_64-linux"),
|
||||||
|
"foo.bar.x86_64-linux"
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
strip_x8664linux_arch_suffix("tests.foo.bar.x86_64-linux"),
|
||||||
|
"tests.foo.bar"
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue