Skip to content

leanprover-community/queueboard-core

Repository files navigation

Mathlib4 review and triage dashboard

This repository defines a dashboard for reviewing and triaging pull requests to the mathlib repository. mathlib receives a steady (and growing) stream of incoming pull requests. This is great, but keeping track of them all is not an easy task. mathlib's maintainers (and reviewers) observe growing pains trying to manage this using github's built-in functionality. Better tools are needed: this is one of them.

Status. The queueboard project has been around for a few months now, has been shown to be useful and will most likely stay. Feel free to try it out! Feedback on any issues you find, or changes that would help you, is very welcome.

This repository was extracted from the main queueboard repo using the following git-filter-repo command:

git-filter-repo --path data processed_data missing_prs.txt stubborn_prs.txt closed_prs_to_backfill.txt redownload.txt --invert-paths

We also used the following commands to delete the gh-pages branch:

git branch -D gh-pages
git reflog expire --expire=now --all
git gc --aggressive --prune=now
git repack -a -d -l

Contributing. Contributions are welcome. If you have questions, feel free to get in touch! Filing an issue, creating a pull request (from a fork) and providing feedback are all valuable. There is a list of PRs with mentoring instructions. The architecture overview contains for an overall impression of the code base, and the overall documentation contains some particular details.

To work on the Python files in this project, install uv, and then (after cloning the repo) run:

uv sync

to set up the virtual environment. You may also want to install the vscode-ruff extension.

To test the dashboard generation, visit the queueboard actions, find a recent "Update PR metadata" run, download the "api-artifact" artifact file and extract the contents to test/api. Then run:

cd test
uv run python -m queueboard.dashboard

The generated files will be in test/gh-pages/. To view the files properly, you may need to start a static web server in that directory or use the VS Code "Live Preview" extension.

Contact. The initial design, architecture and infrastructure of this dashboard were created by Johan Commelin (@jcommelin). Michael Rothgang (@grunweg) contributed improvements to the design, added more dashboards and added the analysis of the "last status change" and "total time in review" information. If you have questions or feedback, feel free to contact us on the leanprover zulip chat, such as in the private reviewers stream or in the public #mathlib4 channel.