Subject: bug#69284: guix pull is not reproducible

From: Andrew Tropin <[email-masked]>
Date: Tue, 20 Feb 2024 13:51:24 +0300

guix pull -C channels-lock.scm produces different profiles on different
machines.

I executed the same command on a few different machines.
channels-lock.scm contains channels list with exact commit specified.

--8<---------------cut here---------------start------------->8---
curl https://paste.sr.ht/~abcdw/5f18e9e5cc6cb243c84a3975eb4e6a46ed17d996 > channels-lock.scm
guix pull -C channels-lock.scm -p tmp
readlink tmp-1-link
--8<---------------cut here---------------end--------------->8---

The output log on all machines starts similiar:
--8<---------------cut here---------------start------------->8---
Updating channel 'rde' from Git repository at 'https://git.sr.ht/~abcdw/rde'...
Authenticating channel 'rde', commits 257cebd to 2a0c7e9 (2304 new commits)...
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to d264237 (69420 new commits)...
Building from these channels:
  guix      https://git.savannah.gnu.org/git/guix.git   d264237
  rde       https://git.sr.ht/~abcdw/rde        2a0c7e9
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
Updating channel 'rde' from Git repository at 'https://git.sr.ht/~abcdw/rde'...
Authenticating channel 'rde', commits 257cebd to 2a0c7e9 (2,304 new commits)...
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to d264237 (2,382 new commits)...
Building from these channels:
  guix      https://git.savannah.gnu.org/git/guix.git   d264237
  rde       https://git.sr.ht/~abcdw/rde        2a0c7e9
--8<---------------cut here---------------end--------------->8---

but resulting profile is different:
/gnu/store/w3qq81dzdj9wckcw8fpz5lv6ylhw1m2d-profile (local fresh guix system)
/gnu/store/c2i8iyqkc146ac2hqzy1v6zkqs82xypp-profile (debian 11)
/gnu/store/svg0is4iwvlg6mgi2rvpkngcccqcvhys-profile (debian 12)
/gnu/store/w3qq81dzdj9wckcw8fpz5lv6ylhw1m2d-profile (remote fresh guix system)

The first guix pull takes from 25 to 50 minutes, which is really long
time.  However, due to irreproducibility, building the guix profile on
CI doesn't help to cut that time to some manageable numbers.

-- 
Best regards,
Andrew Tropin