Hey, In short, following on from some previous emails about Patchwork [1] and tracking and inspecting how Guix changes over time [2], I've got to the point where I have a very rough setup for building packages changed by patches sent to the guix-patches mailing list.
1: http://lists.gnu.org/archive/html/guix-devel/2018-10/msg00638.html 2: https://lists.gnu.org/archive/html/guix-devel/2019-02/msg00089.html If you want to see this in action, assuming for a given patch series that all goes to plan, patches sent to the guix-patches mailing list as normal should appear in the Patchwork web interface [3], and after some processing, a specification should be inserted in to this Cuirass instances [4] which builds the packages affected by the patch series. 3: https://patchwork.cbaines.net/project/guix-patches/list/ 4: https://cuirass.cbaines.net/ For a specific example, here [5] is series 700 (a Patchwork id). There are a number of intermediate steps, but this is the specification in Cuirass [6]. 5: https://patchwork.cbaines.net/project/guix-patches/list/?series=700 6: https://cuirass.cbaines.net/jobset/series-700 If you want to see how this is held together at the moment, the main script can be found here [7]. That script repeatedly in a loop: - Looks at patch series in the Patchwork database that have been processed through the patchwork-test-series job in Laminar. - Gets the recorded commits for the base commit and head commit. - Fetches the list of affected packages from the Guix Data Service. - Assuming the list is available, ensures that a Cuirass specification exists to build the affected packages. 7: https://laminar.cbaines.net/cfg/scripts/guix-patchwork-helper This is very much an initial prototype, and from this I've got a load of ideas about how better to set things up. In terms of features I'd like to work towards next, the main thing on my mind is doing something useful with the data from building these packages. With the goal of displaying a check in Patchwork about the build status of the affected packages, I need to compare what's been build by my Cuirass instance, with what https://ci.guix.info/ has built. To do this, my current plan is to have the Guix Data Service monitor a number of Cuirass instances somehow, extract information from them and store it. You'd then be able to get a comparison for the build status using the results gathered from the two Cuirass instances from the Guix Data Service. Going back to some of the aims I have with this, I think something like this could help people review and test there own patch submissions, as well as assisting those taking the time to review patches that others have submitted. There's a few more related things on my mind, but I'll end this email here. Chris
signature.asc
Description: PGP signature