diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/jenkins.rs | 27 | 
1 files changed, 21 insertions, 6 deletions
| diff --git a/src/jenkins.rs b/src/jenkins.rs index 61d3bf1..d507f00 100644 --- a/src/jenkins.rs +++ b/src/jenkins.rs @@ -97,17 +97,28 @@ pub fn find_and_track_build_and_update_status(      jenkins_user_id: &String,      jenkins_token: &String,      github_token: String, -) -> Result<(), Box<Error>> { +// ) -> Result<(), Box<Error>> { +// ) -> thread::JoinHandle { +) -> thread::JoinHandle<()> { +    thread::spawn(move || { +    // Wait for Jenkins to warm up +    sleep(Duration::from_secs(10)); +      let jenkins_client = jenkins_request_client(          &jenkins_user_id,          &jenkins_token -    )?; +    ).expect("Failed to initialise Jenkins HTTP client");      let jobs = get_jobs(          &jenkins_url,          &jenkins_client,          commit_ref.repo.as_ref() -    )?; +    ).expect( +        format!( +            "Failed to request Jenkins jobs for {}", +            commit_ref.repo +        ).as_ref() +    );      let t20_minutes = 60 * 20;      for job_url in jobs { @@ -115,7 +126,9 @@ pub fn find_and_track_build_and_update_status(              &jenkins_url,              &jenkins_client,              job_url.as_ref() -        )?; +        ).expect( +            format!("Failed to request Jenkins job {}", job_url).as_ref() +        );          // Does `displayName` match          if job_for_commit(&job, &commit_ref) { @@ -206,11 +219,13 @@ pub fn find_and_track_build_and_update_status(                  }              }); -            return Ok(()) +            // return Ok(()) +            return          }      } +    }) -    Ok(()) +    // Ok(())  }  pub fn auth_credentials(user_id: String, token: String) -> header::Basic { | 
