unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Quick reproducible test for GNU Guix
@ 2020-02-07 23:08 Vagrant Cascadian
  2020-02-11 14:38 ` [rb-general] " Ludovic Courtès
  2020-02-28 17:29 ` Holger Levsen
  0 siblings, 2 replies; 4+ messages in thread
From: Vagrant Cascadian @ 2020-02-07 23:08 UTC (permalink / raw)
  To: rb-general; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2098 bytes --]

I did some quick reproducibility testing running GNU Guix, and so far
got pretty good results:

Using guix (and packages) built from commit:

  f83d07f7778b699d46741a5667113342f5f0a737

$ guix challenge --verbose --diff=diffoscope ...
2,463 store items were analyzed:
  - 2,016 (81.9%) were identical
  - 37 (1.5%) differed
  - 410 (16.6%) were inconclusive

The log file produced was 951MB compressed with lz4, including
diffoscope output.

On an x86_64 virtual machine with 8-12 cores and 16-32 GB of ram (I
upped the specs later in the build process), running Debian and some WIP
packages from:

  https://salsa.debian.org/vagrant/guix

The packages tested were from a minimal system using
gnu/system/examples/bare-bones.tmpl, diffoscope, a couple guix pulls,
all without using any substitutes; all the builds for this system should
be locally built.


At ~82% identical, that's not too bad. The ~17% inconclusive are likely
substitutes that haven't yet built or failed to build on the substitute
server, or some local builds that are not yet in guix (e.g. WIP builds
of reprotest!!). I wonder if "guix challenge" may compare some things
that are normally only built locally (e.g. grub.cfg or similar ?).


There are about 10,000 packages I haven't built and compared yet,
presuming "guix package -A | wc -l" is a reasonable guess, though there
are some hidden packages used as transitive build dependencies, if I
recall.


I did notice that when doing multiple builds in parallel, it uses a
different user for each build, though I don't know if that's normalized
within the build environment container. If not, that could fix quite a
few issues! See issues mentioning "user" at:

  https://salsa.debian.org/reproducible-builds/reproducible-notes/blob/master/issues.yml


Eventually, I'd like to do more systematic test of guix packages, with
published logs per-package, rather than whatever I happened to build on
the system so far, but this was a quick start to help flesh out ideas
for feature requests to "guix challenge" to make this all easier... more
on that soon!


live well,
  vagrant

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-02-28 17:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-07 23:08 Quick reproducible test for GNU Guix Vagrant Cascadian
2020-02-11 14:38 ` [rb-general] " Ludovic Courtès
2020-02-12  8:58   ` Christopher Baines
2020-02-28 17:29 ` Holger Levsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).