Radish alpha
r
Radicle CI broker
Radicle
Git (anonymous pull)
Log in to clone via SSH
feat: add count of recent failures to front page
Lars Wirzenius committed 1 year ago
commit b707c812dfcb3511a3afe463b8efae0ec42ac79c
parent d5f6520486a4bc853964ed1540034f01b85898d5
1 file changed +18 -1
modified src/pages.rs
@@ -399,6 +399,20 @@ impl PageData {
            .count();
        let total = runs.len();

+
        fn failed_recently(runs: &[&Run], n: usize) -> usize {
+
            let recent = if runs.len() >= n {
+
                &runs[runs.len() - N..]
+
            } else {
+
                runs
+
            };
+
            recent
+
                .iter()
+
                .filter(|run| run.result() == Some(&RunResult::Failure))
+
                .count()
+
        }
+

+
        const N: usize = 5;
+

        Element::new(Tag::Span)
            .with_child(
                Element::new(Tag::A)
@@ -410,7 +424,10 @@ impl PageData {
                    .with_attribute("href", &format!("{}.html", rid_to_basename(repo_id))),
            )
            .with_child(Element::new(Tag::Br))
-
            .with_child(Element::new(Tag::Span).with_text(&format!("{failed} failed runs")))
+
            .with_child(Element::new(Tag::Span).with_text(&format!(
+
                "{failed} failed runs ({} recently)",
+
                failed_recently(&runs, N)
+
            )))
            .with_child(Element::new(Tag::Br))
            .with_child(Element::new(Tag::Span).with_text(&format!("{total} total runs")))
    }