strip the x86_64-linux suffix on NixOS test build instsructions until all the linux builders are updated.

This commit is contained in:
Graham Christensen 2018-01-29 22:27:38 -05:00
parent 1b19b4ba2f
commit 4aaab0644a
No known key found for this signature in database
GPG key ID: ACA1C1D120C83D5C

View file

@ -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"
);
}
} }