diff --git a/extra/mason/server/server.factor b/extra/mason/server/server.factor index a57dfb714e..71de2cf7b6 100644 --- a/extra/mason/server/server.factor +++ b/extra/mason/server/server.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors calendar db db.sqlite db.tuples db.types kernel -math math.order sequences ; +math math.order sequences combinators.short-circuit ; IN: mason.server CONSTANT: +starting+ "starting" @@ -64,6 +64,13 @@ counter "COUNTER" { builder new select-tuples [ current-timestamp>> 5 hours ago before? ] filter ; +: broken-builders ( -- seq ) + builder new select-tuples + [ + clean-timestamp>> + { [ not ] [ 1 weeks ago before? ] } 1|| + ] filter ; + : mason-db ( -- db ) "resource:mason.db" ; : with-mason-db ( quot -- ) diff --git a/extra/webapps/mason/dashboard.xml b/extra/webapps/mason/dashboard.xml index 8ab1ccdc82..4ce01bff83 100644 --- a/extra/webapps/mason/dashboard.xml +++ b/extra/webapps/mason/dashboard.xml @@ -9,8 +9,15 @@

Crashed build machines

+

Crashed machines have not sent a heartbeat for several hours.

+ +

Broken build machines

+

Broken machines have not had a successful build for over a week.

+ + +

Make a release

diff --git a/extra/webapps/mason/dashboard/dashboard.factor b/extra/webapps/mason/dashboard/dashboard.factor index 57ce008006..c6edd2ec99 100644 --- a/extra/webapps/mason/dashboard/dashboard.factor +++ b/extra/webapps/mason/dashboard/dashboard.factor @@ -4,8 +4,8 @@ USING: accessors kernel mason.server furnace.actions html.forms sequences xml.syntax webapps.mason.utils ; IN: webapps.mason.downloads -: crashed-builder-list ( -- xml ) - crashed-builders [ +: builder-list ( seq -- xml ) + [ [ package-url ] [ [ os>> ] [ cpu>> ] bi "/" glue ] bi [XML
  • ><->
  • XML] ] map @@ -15,6 +15,7 @@ IN: webapps.mason.downloads [ [ - crashed-builder-list "crashed" set-value + crashed-builders builder-list "crashed" set-value + broken-builders builder-list "broken" set-value ] with-mason-db ] >>init ;