forked from the-distro/ofborg
Merge pull request #414 from NixOS/build-all
acl: all users can build on x86-64 linux and aarch64 linux =)
This commit is contained in:
commit
ce5f77632a
|
@ -36,10 +36,9 @@ impl ACL {
|
||||||
System::X8664Linux,
|
System::X8664Linux,
|
||||||
System::Aarch64Linux,
|
System::Aarch64Linux,
|
||||||
]
|
]
|
||||||
} else if self.can_build_restricted(user, repo) {
|
|
||||||
vec![System::X8664Linux, System::Aarch64Linux]
|
|
||||||
} else {
|
} else {
|
||||||
vec![]
|
// allow everybody to issue aarch64-linux and x8664-linux builds
|
||||||
|
vec![System::X8664Linux, System::Aarch64Linux]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -244,5 +244,4 @@ baz",
|
||||||
parse("@ofborg build foo bar baz.Baz")
|
parse("@ofborg build foo bar baz.Baz")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ pub struct NotifyWorker<T: SimpleNotifyWorker> {
|
||||||
pub trait SimpleNotifyWorker {
|
pub trait SimpleNotifyWorker {
|
||||||
type J;
|
type J;
|
||||||
|
|
||||||
fn consumer(&self, job: &Self::J, notifier: &mut NotificationReceiver);
|
fn consumer(&self, job: &Self::J, notifier: &mut dyn NotificationReceiver);
|
||||||
|
|
||||||
fn msg_to_job(
|
fn msg_to_job(
|
||||||
&self,
|
&self,
|
||||||
|
|
|
@ -110,7 +110,7 @@ type Package = String;
|
||||||
type Architecture = String;
|
type Architecture = String;
|
||||||
type OutPath = String;
|
type OutPath = String;
|
||||||
|
|
||||||
pub fn parse_lines(data: &mut BufRead) -> PackageOutPaths {
|
pub fn parse_lines(data: &mut dyn BufRead) -> PackageOutPaths {
|
||||||
data.lines()
|
data.lines()
|
||||||
.filter_map(|line| match line {
|
.filter_map(|line| match line {
|
||||||
Ok(line) => Some(line),
|
Ok(line) => Some(line),
|
||||||
|
@ -191,5 +191,4 @@ gnome3.evolution_data_server.aarch64-linux /nix/
|
||||||
);
|
);
|
||||||
assert_eq!(parse_lines(&mut Cursor::new(TEST_LINES)), expect);
|
assert_eq!(parse_lines(&mut Cursor::new(TEST_LINES)), expect);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,15 +5,17 @@ pub enum System {
|
||||||
X8664Darwin,
|
X8664Darwin,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl System {
|
impl std::fmt::Display for System {
|
||||||
pub fn to_string(&self) -> String {
|
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
System::X8664Linux => String::from("x86_64-linux"),
|
System::X8664Linux => write!(f, "x86_64-linux"),
|
||||||
System::Aarch64Linux => String::from("aarch64-linux"),
|
System::Aarch64Linux => write!(f, "aarch64-linux"),
|
||||||
System::X8664Darwin => String::from("x86_64-darwin"),
|
System::X8664Darwin => write!(f, "x86_64-darwin"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl System {
|
||||||
pub fn as_build_destination(&self) -> (Option<String>, Option<String>) {
|
pub fn as_build_destination(&self) -> (Option<String>, Option<String>) {
|
||||||
(None, Some(format!("build-inputs-{}", self.to_string())))
|
(None, Some(format!("build-inputs-{}", self.to_string())))
|
||||||
}
|
}
|
||||||
|
|
|
@ -340,15 +340,6 @@ mod tests {
|
||||||
PackageArchSrc { linux, darwin: 0 }
|
PackageArchSrc { linux, darwin: 0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn darwin(darwin: usize) -> PackageArchSrc {
|
|
||||||
PackageArchSrc::linux(0).and_darwin(darwin)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn and_linux(mut self, linux: usize) -> PackageArchSrc {
|
|
||||||
self.linux = linux;
|
|
||||||
self
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn and_darwin(mut self, darwin: usize) -> PackageArchSrc {
|
pub fn and_darwin(mut self, darwin: usize) -> PackageArchSrc {
|
||||||
self.darwin = darwin;
|
self.darwin = darwin;
|
||||||
self
|
self
|
||||||
|
|
|
@ -41,7 +41,7 @@ impl BuildWorker {
|
||||||
fn actions<'a, 'b>(
|
fn actions<'a, 'b>(
|
||||||
&self,
|
&self,
|
||||||
job: &'b buildjob::BuildJob,
|
job: &'b buildjob::BuildJob,
|
||||||
receiver: &'a mut notifyworker::NotificationReceiver,
|
receiver: &'a mut dyn notifyworker::NotificationReceiver,
|
||||||
) -> JobActions<'a, 'b> {
|
) -> JobActions<'a, 'b> {
|
||||||
JobActions::new(&self.system, &self.identity, job, receiver)
|
JobActions::new(&self.system, &self.identity, job, receiver)
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ impl BuildWorker {
|
||||||
pub struct JobActions<'a, 'b> {
|
pub struct JobActions<'a, 'b> {
|
||||||
system: String,
|
system: String,
|
||||||
identity: String,
|
identity: String,
|
||||||
receiver: &'a mut notifyworker::NotificationReceiver,
|
receiver: &'a mut dyn notifyworker::NotificationReceiver,
|
||||||
job: &'b buildjob::BuildJob,
|
job: &'b buildjob::BuildJob,
|
||||||
line_counter: u64,
|
line_counter: u64,
|
||||||
snippet_log: VecDeque<String>,
|
snippet_log: VecDeque<String>,
|
||||||
|
@ -66,7 +66,7 @@ impl<'a, 'b> JobActions<'a, 'b> {
|
||||||
system: &str,
|
system: &str,
|
||||||
identity: &str,
|
identity: &str,
|
||||||
job: &'b buildjob::BuildJob,
|
job: &'b buildjob::BuildJob,
|
||||||
receiver: &'a mut notifyworker::NotificationReceiver,
|
receiver: &'a mut dyn notifyworker::NotificationReceiver,
|
||||||
) -> JobActions<'a, 'b> {
|
) -> JobActions<'a, 'b> {
|
||||||
let (log_exchange, log_routing_key) = job
|
let (log_exchange, log_routing_key) = job
|
||||||
.logs
|
.logs
|
||||||
|
@ -279,7 +279,7 @@ impl notifyworker::SimpleNotifyWorker for BuildWorker {
|
||||||
fn consumer(
|
fn consumer(
|
||||||
&self,
|
&self,
|
||||||
job: &buildjob::BuildJob,
|
job: &buildjob::BuildJob,
|
||||||
notifier: &mut notifyworker::NotificationReceiver,
|
notifier: &mut dyn notifyworker::NotificationReceiver,
|
||||||
) {
|
) {
|
||||||
let mut actions = self.actions(&job, notifier);
|
let mut actions = self.actions(&job, notifier);
|
||||||
|
|
||||||
|
|
|
@ -156,7 +156,7 @@ impl<E: stats::SysEvents + 'static> worker::SimpleWorker for EvaluationWorker<E>
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut evaluation_strategy: Box<eval::EvaluationStrategy> = if job.is_nixpkgs() {
|
let mut evaluation_strategy: Box<dyn eval::EvaluationStrategy> = if job.is_nixpkgs() {
|
||||||
Box::new(eval::NixpkgsStrategy::new(
|
Box::new(eval::NixpkgsStrategy::new(
|
||||||
&job,
|
&job,
|
||||||
&pull,
|
&pull,
|
||||||
|
|
Loading…
Reference in a new issue