Hi Guix! Due to it's nature as an incremental counter (from 0% to 100%), Guix prints many messages to the terminal when it is updating substitutes. This hurts CI log files because large portions of the output is filled with cruft [1]. This problem is made worse because Guix updates substitutes multiple times during a build.
verbosity=0 can be used to disable ALL output messages. However, this isn't ideal for automated build pipelines where people need to monitor the status and review what may have gone wrong. Because "updating substitutes" prints so many lines to the terminal that aren't typically relevant from a log reviewer's perspective that hide useful information, it should be possible to disable just those messages. Alternatively, I believe Guix has code to detect when it's attached to a "dumb" terminal. Perhaps these messages should be conditionally removed or replaced with a pair of static messages like the following: --8<---------------cut here---------------start------------->8--- substitute: Updating subsitutes from ..... substitute: Finished updating substitutes from .... --8<---------------cut here---------------end--------------->8--- This would make log files much easier to parse. Instead of having potentially thousands of lines printed to the console per "build stage", it would be limited to 2. [1]: https://builds.sr.ht/query/log/1238029/update-readme/log -- Take it easy, Richard Sent Making my computer weirder one commit at a time.