ocurrent / ocaml-docs-ci

CI building documentation for ALL versions of ALL packages !
https://docs.ci.ocaml.org
MIT License
17 stars 14 forks source link

Add a monitoring page for the ci status #76

Closed TheLortex closed 1 year ago

TheLortex commented 2 years ago

Currently it's hard to figure out why packages fail. One can randomly look at failures but it is not efficient.

This PR adds a current web page to display which packages are not displayed on the documentation website and gives an overview of at which stage it went wrong.

Screenshot 2022-08-26 at 17-43-13 test_monitor

Screenshot 2022-08-26 at 17-43-24 test_monitor

I have also added a minimal example using the monitor module to test its behaviour.

warning

I needed to expose ocurrent's executor module to obtain this feature.

module Executor : sig
    val run : 'a Current.t -> 'a Output.t Current_incr.t
end

The rationale is that I don't want to maintain the monitor's state using ocurrent because it would require tracking a lot of nodes. Instead it's better to query the ocurrent state occasionally (when the page is requested) using this function. It's done in this commit: https://github.com/TheLortex/ocurrent/commit/c9f5f9a882d02426937988dccdd7ba291185be29 @talex5 what do you think ? it's low level but would it be possible to have that somewhere in the ocurrent api ?

talex5 commented 2 years ago

what do you think ? it's low level but would it be possible to have that somewhere in the ocurrent api ?

I guess we could have a Current.observe that does that.

A general purpose show-failed-nodes feature sounds useful too.

(and if the failed nodes are always cluster jobs then the Query page will find them already)