This project is archived. Its data is read-only.

Enhancement: automate source bisections for develpoers

This is an enhancement which I think would be awesome to implement, at some point after we meet our primary milestones.

So, today it struck me while I was writing this bug comment https://bugzilla.gnome.org/show_bug.cgi?id=763624#c18 , that with a tool like BuildStream we can vastly improve the experience of bisecting commits and tracking down which commit introduced a regression.

Especially because of how the artifact cache works in a mode where cache keys are calculated independently from their dependencies (non-deterministic build modes), it may even be possible to perform bisections without builds in the cases where an artifact already exists in a shared cache for a given commit. Otherwise, so long as build instructions need not change for a given source module between builds (the most likely case), we need only build that module (and optionally depending modules, depending on cache key mode) for every bisect commit and assemble a sysroot (or VM even) for testing, without much of the hassle which comes with the more regular technique outlined in the bug comment above.

Assignee Loading
Time tracking Loading