-*- mode: org -*- This service is intended to assist with quality assurance within Guix. That is maintaining and improving the quality of many aspects of Guix, like packages for example. * Local Development Use the guix-dev.scm file to provide the dependencies. #+BEGIN_SRC shell guix environment -l guix-dev.scm #+END_SRC Then run the following commands: #+BEGIN_SRC shell ./bootstrap.sh ./configure make #+END_SRC After that, you can start the service via: #+BEGIN_SRC shell ./pre-inst-env scripts/guix-qa-frontpage #+END_SRC Expect pages to load slowly since the QA frontpage won't have up to date cached data to use. * Ideas ** For branches *** TODO Show broken packages *** TODO Show broken system tests **** TODO Submit builds for branch system tests *** TODO Show broken fixed output package derivations *** TODO Show lint warnings *** Branch comparisons **** TODO Show broken system tests **** TODO Show broken fixed output package derivations **** TODO Show new lint warnings *** DONE Show package reproducibility statistics This will provide a better URL and faster page load times compared to directly going to data.guix.gnu.org or data.qa.guix.gnu.org. ** For patches *** TODO Show and describe the overall status on the page for an issue *** TODO Improve display of lint warning changes **** TODO Say which package the lint warnings apply to *** TODO Show when there are comments/messages on the issue To highlight when there is discussion that might need reading before merging the patch. *** TODO Show changes with system tests **** TODO Submit builds for system tests when affected by patches *** TODO Extend testing for patches **** TODO Cross-compilation from =x86_64-linux= This can be enabled, but data might often be lacking due to lack of build resources for bordeaux.guix.gnu.org **** TODO =powerpc64le-linux= The one powerpc64le-linux build machine for bordeaux.guix.gnu.org isn't always on (this could be fixed by changing the hosting). Anyway, some always available build machine for powerpc64le-linux is probably needed before extending patch testing. **** TODO =i586-gnu= Builds are now happening on bordeaux.guix.gnu.org, once it's caught up, enabling i586-gnu should be possible. There might be issues with a lack of build resources (like x86_64-linux). *** DONE Improve patches page **** DONE Add more statuses **** DONE Support filtering by status *** TODO Run licensecheck on package sources And highlight changes or when this doesn't match what's declared in the Guix package. ** QA Ecosystem *** data.qa.guix.gnu.org **** TODO Move away from Chris renting beid (the machine it runs on) **** TODO Make processing revisions faster and require less resources *** Monitoring and observability **** TODO Move away from Chris hosting Prometheus/Grafana for this purpose Either to Prometheus packaged for Guix and run on Guix machines, or some other approach. *** Keeping Guix packages up to date **** TODO Automated patch submission for package updates Using guix refresh. This way the manual work is reduced, and it's easier to just apply the package updates that have been tested. ***** TODO Speed up QA for patches As this would result in more patch series, QA (mostly the data service) will need speeding up a lot to make this feasible. *** Facilitating people without commit access reviewing patches This might help speed up getting patches merged, and get more people involved in the process. Maybe the QA Frontpage has a part to play in helping this to happen. **** DONE Add mark patches as "reviewed-looks-good" feature