Skip to content

Make dashboard generation project-agnostic #24

@grunweg

Description

@grunweg

@jcommelin raised the idea of making the dashboard generation to other projects, i.e. allowing other projects (on github, but perhaps also on other platforms) to re-use the same logic. In fact, the frontend of this project ("take a bunch of PR metadata and generate the dashboard webpage(s) from it") is pretty agnostic --- so this could be done!

The following is the current state of the various parts of the project front-end.

  • util.py and ci_status.py are fully generic; nothing to do
  • classify_pr_state.py contains the particular classification logic (which is somewhat mathlib-specific); perhaps this can be made configurable (see below)
  • state_evolution.py has a mild mathlib dependency: it hard-codes the organisation name, and the "on_the_queue" methods assume there's a PRStatus variant AwaitingReview
  • mathlib_dashboards.py is entirely mathlib-specific; could be replaced by a configuration file in the future
  • compute_dashboard_prs.py: first half is mathlib-agnostic (100 lines); second half is mathlib-specific
  • dashboard.py: first half is mathlib-agnostic (400 lines); webpage layout is project-specific for now
  • generate_assignment_page.py is considered internal-only for now (but should not be hard to generalise if needed)
  • send_zulip_dm.py: completely project-agnostic; currently unused, but could be used in generate_assignment_page.py

(The files process.py and check-data-integrity.py are part of the backend, hence not relevant.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions