Simplify comparing guix challenge results

DoneSubmitted by Vagrant Cascadian.
Details
3 participants
  • Ludovic Courtès
  • Ricardo Wurmus
  • Vagrant Cascadian
Owner
unassigned
Severity
normal
V
V
Vagrant Cascadian wrote on 7 May 2019 20:02
(address . bug-guix@gnu.org)
87sgtqxhwi.fsf@yucca
I'd like to see a simpler process for comparing challenge resultsproducing differences.
While the manual documents how to compare a failing challenge result
$ wget -q -O - https://ci.guix.info/nar/…-git-2.5.0\ | guix archive -x /tmp/git $ diff -ur --no-dereference /gnu/store/…-git.2.5.0 /tmp/git
To check "git", you need to run "guix challenge git" and if the resultsare inconclusive, manually cut-and-paste the correct URL(s) from thechallenge output and manually download it and unpack with guix archive,and then run a comparison utility...
What about an argument to "guix challenge" that handles the downloadingand unpacking to a temporary directory, and possibly another that alsoruns a comparison tool against the results. Maybe something like:
$ guix challenge --download-differences /tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0 /tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0 /gnu/store/...-git-2.5.0
Downloads and unpacks the substitutes, and outputs the resultingdirectories.

$ guix challenge --download-differences --compare-with="diffoscope ..."
This would do the above, plus run diffoscope on the directories... though I think diffoscope can only compare between two things at atime... so that might get difficult if many substitutes return results.

live well, vagrant
-----BEGIN PGP SIGNATURE-----
iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXNHIHQAKCRDcUY/If5cWqmXdAP95qyDG+bnknxZfhFVFZuzE3eLIhLSbvAm76MmQPpHCQgD/UGZudd1dDL2DhmIIUuXK1VkwbLge+7R2pzOZaJ2uDgs==/t7l-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 8 May 2019 15:04
(name . Vagrant Cascadian)(address . vagrant@reproducible-builds.org)(address . 35621@debbugs.gnu.org)
87o94dw10g.fsf@gnu.org
Hi!
Vagrant Cascadian <vagrant@reproducible-builds.org> skribis:
Toggle quote (19 lines)> What about an argument to "guix challenge" that handles the downloading> and unpacking to a temporary directory, and possibly another that also> runs a comparison tool against the results. Maybe something like:>> $ guix challenge --download-differences> /tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0> /tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0> /gnu/store/...-git-2.5.0>> Downloads and unpacks the substitutes, and outputs the resulting> directories.>>> $ guix challenge --download-differences --compare-with="diffoscope ...">> This would do the above, plus run diffoscope on the directories> ... though I think diffoscope can only compare between two things at a> time... so that might get difficult if many substitutes return results.
Sounds like a good idea. Perhaps ‘--compare-with’ is actually enough(it would also download things), dunno.
Ludo’.
R
R
Ricardo Wurmus wrote on 8 May 2019 22:28
(name . Ludovic Courtès)(address . ludo@gnu.org)
87zhnwd729.fsf@elephly.net
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (26 lines)> Hi!>> Vagrant Cascadian <vagrant@reproducible-builds.org> skribis:>>> What about an argument to "guix challenge" that handles the downloading>> and unpacking to a temporary directory, and possibly another that also>> runs a comparison tool against the results. Maybe something like:>>>> $ guix challenge --download-differences>> /tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0>> /tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0>> /gnu/store/...-git-2.5.0>>>> Downloads and unpacks the substitutes, and outputs the resulting>> directories.>>>>>> $ guix challenge --download-differences --compare-with="diffoscope ...">>>> This would do the above, plus run diffoscope on the directories>> ... though I think diffoscope can only compare between two things at a>> time... so that might get difficult if many substitutes return results.>> Sounds like a good idea. Perhaps ‘--compare-with’ is actually enough> (it would also download things), dunno.
I think it’s fine to have just “--compare-with”, which would print thelocation of the downloaded things, so you could compare with “echo” ifall you wanted is to get the differences.
--Ricardo
L
L
Ludovic Courtès wrote on 9 Dec 2019 12:02
(name . Vagrant Cascadian)(address . vagrant@reproducible-builds.org)
87o8whhict.fsf@gnu.org
Hello!
Vagrant Cascadian <vagrant@reproducible-builds.org> skribis:
Toggle quote (29 lines)> I'd like to see a simpler process for comparing challenge results> producing differences.>> While the manual documents how to compare a failing challenge result>> $ wget -q -O - https://ci.guix.info/nar/…-git-2.5.0 \> | guix archive -x /tmp/git> $ diff -ur --no-dereference /gnu/store/…-git.2.5.0 /tmp/git>> To check "git", you need to run "guix challenge git" and if the results> are inconclusive, manually cut-and-paste the correct URL(s) from the> challenge output and manually download it and unpack with guix archive,> and then run a comparison utility...>> What about an argument to "guix challenge" that handles the downloading> and unpacking to a temporary directory, and possibly another that also> runs a comparison tool against the results. Maybe something like:>> $ guix challenge --download-differences> /tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0> /tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0> /gnu/store/...-git-2.5.0>> Downloads and unpacks the substitutes, and outputs the resulting> directories.>>> $ guix challenge --download-differences --compare-with="diffoscope ..."
I had forgotten about this bug report (thanks for the reminder on IRC!)and came up with something similar to/different from it:
https://issues.guix.gnu.org/issue/38518
Let’s see whether we should adapt it!
Ludo’.
L
L
Ludovic Courtès wrote on 12 Dec 2019 18:21
Re: [bug#38518] [PATCH 0/7] 'guix challenge' can diff archives directly
87o8wd5ujc.fsf@gnu.org
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
Toggle quote (8 lines)> serialization: Add 'fold-archive'.> guix archive: Add '--list'.> challenge: Report the best narinfo URI.> serialization: Remove unused procedure.> progress: Add 'progress-report-port'.> challenge: Add "--diff".> challenge: Support "--diff=diffoscope".
Pushed!
Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 35621@debbugs.gnu.org