diff --git a/src/bin/server/worker.rs b/src/bin/server/worker.rs index 69d7886..503dcb0 100644 --- a/src/bin/server/worker.rs +++ b/src/bin/server/worker.rs @@ -299,10 +299,14 @@ impl Worker { Some(url) => format!("\nFor more information how to resolve CI failures of this job, visit this [link]({url})."), None => "".to_string(), }; + let plain_enhanced = match job.log_enhanced_url() { + Some(enhanced_url) => format!(" [(plain enhanced)]({enhanced_url})"), + None => "".to_string(), + }; let log_url = job.log_url().unwrap_or_else(|| "unknown".into()); self.github.post_comment(repo, pr, &format!(r#" -{opening} failed! Check out the build log: [(web)]({html_url}) [(plain)]({log_url}) +{opening} failed! Check out the build log: [(web)]({html_url}){plain_enhanced} [(plain)]({log_url})
Click to see the possible cause of the failure (guessed by this bot) @@ -311,7 +315,7 @@ impl Worker { ```
-{trailer}"#, opening = opening, html_url = job.html_url(), log_url = log_url, log = extracted, trailer = trailer))?; +{trailer}"#, opening = opening, html_url = job.html_url(), plain_enhanced = plain_enhanced, log_url = log_url, log = extracted, trailer = trailer))?; info!("marked build {} as recently notified", build_id); self.recently_notified.store(build_id); diff --git a/src/ci/actions.rs b/src/ci/actions.rs index 17a6c8c..3a5a87f 100644 --- a/src/ci/actions.rs +++ b/src/ci/actions.rs @@ -113,6 +113,13 @@ impl Job for GHAJob { )) } + fn log_enhanced_url(&self) -> Option { + Some(format!( + "https://triage.rust-lang.org/gha-logs/{}/{}", + self.repo_name, self.inner.id + )) + } + fn log_file_name(&self) -> String { format!("actions-{}-{}", self.inner.id, self.inner.name) } diff --git a/src/ci/mod.rs b/src/ci/mod.rs index 337d2c0..b6b8757 100644 --- a/src/ci/mod.rs +++ b/src/ci/mod.rs @@ -41,6 +41,10 @@ pub trait Job: std::fmt::Display { fn log_api_url(&self) -> Option { self.log_url() } + + fn log_enhanced_url(&self) -> Option { + None + } } pub trait CiPlatform {