Mathieu Othacehe
authored
When a new evaluation is triggered by a single channel update, the matching specification can have other channels that are not updated. In that case, "db-get-checkouts" will only return the checkout corresponding to the channel update. This cause "channel-instances->profile" to fail this way: In guix/channels.scm: 911:32 3 (channel-instances->derivation _) 871:36 2 (channel-instances->manifest (#<<channel-instance> cha?>)) 759:6 1 (channel-instance-derivations (#<<channel-instance> ch?>)) In ice-9/boot-9.scm: 1669:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1669:16: In procedure raise-exception: ERROR: 1. &message: "'guix' channel is lacking" 2. &fix-hint: "Make sure your list of channels\ncontains one channel named @code{guix} providing the core of Guix." 3. &error-location: #<<location> file: "guix/channels.scm" line: 557 column: 18> Introduce a db-get-latest-checkout procedure that returns the last checkout of a given channel. Use it to request the checkouts of all the channels before creating the profile. * src/cuirass/database.scm (db-get-latest-checkout): New procedure. * tests/database.scm ("db-get-latest-checkout"): New test. * src/cuirass/scripts/evaluate.scm (latest-checkouts): New procedure. (cuirass-evaluate): Use it.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.