Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions ofborg/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -168,12 +168,23 @@ impl Config {
}

pub fn github(&self) -> Github {
let token = std::fs::read_to_string(self.github_app.clone().expect("No GitHub app configured").oauth_client_secret_file)
.expect("Couldn't read from GitHub app token");
let token = std::fs::read_to_string(
self.github_app
.clone()
.expect("No GitHub app configured")
.oauth_client_secret_file,
)
.expect("Couldn't read from GitHub app token");
let token = token.trim();
Github::new(
"github.com/NixOS/ofborg",
Credentials::Client(self.github_app.clone().expect("No GitHub app configured").oauth_client_id, token.to_owned()),
Credentials::Client(
self.github_app
.clone()
.expect("No GitHub app configured")
.oauth_client_id,
token.to_owned(),
),
)
.expect("Unable to create a github client instance")
}
Expand Down
60 changes: 0 additions & 60 deletions ofborg/src/tagger.rs
Original file line number Diff line number Diff line change
@@ -1,68 +1,8 @@
use crate::maintainers::{Maintainer, MaintainersByPackage};
use crate::outpathdiff::PackageArch;
use crate::tasks;

use tracing::info;

pub struct StdenvTagger {
possible: Vec<String>,
selected: Vec<String>,
}

impl Default for StdenvTagger {
fn default() -> StdenvTagger {
let mut t = StdenvTagger {
possible: vec![
String::from("10.rebuild-linux-stdenv"),
String::from("10.rebuild-darwin-stdenv"),
],
selected: vec![],
};
t.possible.sort();

t
}
}

impl StdenvTagger {
pub fn new() -> StdenvTagger {
Default::default()
}

pub fn changed(&mut self, systems: Vec<tasks::eval::stdenvs::System>) {
for system in systems {
match system {
tasks::eval::stdenvs::System::X8664Darwin => {
self.selected.push(String::from("10.rebuild-darwin-stdenv"));
}
tasks::eval::stdenvs::System::X8664Linux => {
self.selected.push(String::from("10.rebuild-linux-stdenv"));
}
}
}

for tag in &self.selected {
if !self.possible.contains(tag) {
panic!("Tried to add label {tag} but it isn't in the possible list!");
}
}
}

pub fn tags_to_add(&self) -> Vec<String> {
self.selected.clone()
}

pub fn tags_to_remove(&self) -> Vec<String> {
let mut remove = self.possible.clone();
for tag in &self.selected {
let pos = remove.binary_search(tag).unwrap();
remove.remove(pos);
}

remove
}
}

pub struct PkgsAddedRemovedTagger {
possible: Vec<String>,
selected: Vec<String>,
Expand Down
2 changes: 0 additions & 2 deletions ofborg/src/tasks/eval/mod.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
mod generic;
mod nixpkgs;
pub mod stdenvs;

pub use self::generic::GenericStrategy;
pub use self::nixpkgs::NixpkgsStrategy;
pub use self::stdenvs::Stdenvs;
use crate::checkout::CachedProjectCo;
use crate::commitstatus::{CommitStatus, CommitStatusError};
use crate::evalchecker::EvalChecker;
Expand Down
42 changes: 2 additions & 40 deletions ofborg/src/tasks/eval/nixpkgs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ use crate::message::evaluationjob::EvaluationJob;
use crate::nix::{self, Nix};
use crate::nixenv::HydraNixEnv;
use crate::outpathdiff::{OutPathDiff, PackageArch};
use crate::tagger::{MaintainerPrTagger, PkgsAddedRemovedTagger, RebuildTagger, StdenvTagger};
use crate::tagger::{MaintainerPrTagger, PkgsAddedRemovedTagger, RebuildTagger};
use crate::tasks::eval::{
stdenvs::Stdenvs, Error, EvaluationComplete, EvaluationStrategy, StepResult,
Error, EvaluationComplete, EvaluationStrategy, StepResult,
};
use crate::tasks::evaluate::{get_prefix, make_gist, update_labels};

Expand Down Expand Up @@ -55,7 +55,6 @@ pub struct NixpkgsStrategy<'a> {
repo: &'a Repository,
gists: &'a Gists,
nix: Nix,
stdenv_diff: Option<Stdenvs>,
outpath_diff: Option<OutPathDiff>,
changed_paths: Option<Vec<String>>,
touched_packages: Option<Vec<String>>,
Expand All @@ -80,7 +79,6 @@ impl<'a> NixpkgsStrategy<'a> {
repo,
gists,
nix,
stdenv_diff: None,
outpath_diff: None,
changed_paths: None,
touched_packages: None,
Expand All @@ -102,32 +100,6 @@ impl<'a> NixpkgsStrategy<'a> {
update_labels(self.issue_ref, &labels, &[]);
}

fn check_stdenvs_before(&mut self, dir: &Path) {
let mut stdenvs = Stdenvs::new(self.nix.clone(), dir.to_path_buf());
stdenvs.identify_before();
self.stdenv_diff = Some(stdenvs);
}

fn check_stdenvs_after(&mut self) {
if let Some(ref mut stdenvs) = self.stdenv_diff {
stdenvs.identify_after();
}
}

fn update_stdenv_labels(&self) {
if let Some(ref stdenvs) = self.stdenv_diff {
let mut stdenvtagger = StdenvTagger::new();
if !stdenvs.are_same() {
stdenvtagger.changed(stdenvs.changed());
}
update_labels(
self.issue_ref,
&stdenvtagger.tags_to_add(),
&stdenvtagger.tags_to_remove(),
);
}
}

fn check_outpaths_before(&mut self, dir: &Path) -> StepResult<()> {
let mut rebuildsniff = OutPathDiff::new(self.nix.clone(), dir.to_path_buf());

Expand Down Expand Up @@ -379,12 +351,6 @@ impl<'a> EvaluationStrategy for NixpkgsStrategy<'a> {
}

fn on_target_branch(&mut self, dir: &Path, status: &mut CommitStatus) -> StepResult<()> {
status.set_with_description(
"Checking original stdenvs",
hubcaps::statuses::State::Pending,
)?;
self.check_stdenvs_before(dir);

status.set_with_description(
"Checking original out paths",
hubcaps::statuses::State::Pending,
Expand Down Expand Up @@ -423,9 +389,6 @@ impl<'a> EvaluationStrategy for NixpkgsStrategy<'a> {
&["2.status: merge conflict".to_owned()],
);

status.set_with_description("Checking new stdenvs", hubcaps::statuses::State::Pending)?;
self.check_stdenvs_after();

status.set_with_description("Checking new out paths", hubcaps::statuses::State::Pending)?;
self.check_outpaths_after()?;

Expand Down Expand Up @@ -568,7 +531,6 @@ impl<'a> EvaluationStrategy for NixpkgsStrategy<'a> {
dir: &Path,
status: &mut CommitStatus,
) -> StepResult<EvaluationComplete> {
self.update_stdenv_labels();

status.set_with_description(
"Calculating Changed Outputs",
Expand Down
144 changes: 0 additions & 144 deletions ofborg/src/tasks/eval/stdenvs.rs

This file was deleted.