ci: fetch dependencies before evaluate #128

merged
opened by a.starrysky.fyi targeting main from private/minion/push-mlmuvqqtptlt

Due to what I suspect must be either an npins or a lix bug, we get this error when evaluating our configuration on new machines:

… while fetching the input 'git+https://gerrit.wikimedia.org/r/mediawiki/extensions/AdvancedSearch?rev=398c9fa782843d8b3aeaa5ebb1c1b3db35c3382f'

error: Cannot find Git revision '398c9fa782843d8b3aeaa5ebb1c1b3db35c3382f' in ref 'refs/heads/master' of repository 'https://gerrit.wikimedia.org/r/mediawiki/extensions/AdvancedSearch'! Please make sure that the rev exists on the ref you've specified or add allRefs = true; to fetchGit.

Now, this is what I'd expect - because we're not meant to be fetching master of this extension - we're meant to be fetching a branch! By using npins to prefetch all dependencies, we get around this.

Due to a nilla bug, fetching dependencies is required for evaluation anyway - so this isn't too much more of an issue than it would already have been...

Changed files
+5 -2
packetmix
npins
+5 -2
packetmix/npins/default.nix
··· 85 url, 86 submodules, 87 rev, 88 name, 89 narHash, 90 }: 91 - pkgs.fetchgit { 92 inherit url rev name; 93 fetchSubmodules = submodules; 94 hash = narHash; 95 - }; 96 }; 97 98 # Dispatch to the correct code path based on the type
··· 85 url, 86 submodules, 87 rev, 88 + branch ? null, 89 name, 90 narHash, 91 }: 92 + pkgs.fetchgit ({ 93 inherit url rev name; 94 fetchSubmodules = submodules; 95 hash = narHash; 96 + } // (if branch == null then {} else { 97 + ref = "refs/heads/${branch}"; 98 + })); 99 }; 100 101 # Dispatch to the correct code path based on the type