1{ testers, fetchFromGitHub, ... }:
2{
3 simple = testers.invalidateFetcherByDrvHash fetchFromGitHub {
4 name = "simple-nix-source";
5 owner = "NixOS";
6 repo = "nix";
7 rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
8 hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
9 };
10
11 sparseCheckout = testers.invalidateFetcherByDrvHash fetchFromGitHub {
12 name = "sparse-checkout-nix-source";
13 owner = "NixOS";
14 repo = "nix";
15 rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
16 sparseCheckout = [
17 "src"
18 "tests"
19 ];
20 sha256 = "sha256-g1PHGTWgAcd/+sXHo1o6AjVWCvC6HiocOfMbMh873LQ=";
21 };
22
23 sparseCheckoutNonConeMode = testers.invalidateFetcherByDrvHash fetchFromGitHub {
24 name = "sparse-checkout-non-cone-nix-source";
25 owner = "NixOS";
26 repo = "nix";
27 rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
28 sparseCheckout = [
29 "src"
30 "tests"
31 ];
32 nonConeMode = true;
33 sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4=";
34 };
35
36 leave-git = testers.invalidateFetcherByDrvHash fetchFromGitHub {
37 name = "leave-git-nix-source";
38 owner = "NixOS";
39 repo = "nix";
40 rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
41 sha256 = "sha256-VmQ38+lr+rNPaTnjjV41uC2XSN4fkfZAfytE2uKyLfo=";
42 leaveDotGit = true;
43 };
44
45 submodule-simple = testers.invalidateFetcherByDrvHash fetchFromGitHub {
46 name = "submodule-simple-source";
47 owner = "pineapplehunter";
48 repo = "nix-test-repo-with-submodule";
49 rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
50 sha256 = "sha256-rmP8PQT0wJBopdtr/hsB7Y/L1G+ZPdHC2r9LB05Qrj4=";
51 fetchSubmodules = true;
52 };
53
54 submodule-leave-git = testers.invalidateFetcherByDrvHash fetchFromGitHub {
55 name = "submodule-leave-git-source";
56 owner = "pineapplehunter";
57 repo = "nix-test-repo-with-submodule";
58 rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
59 sha256 = "sha256-EC2PMEEtA7f5OFdsluHn7pi4QXhCZuFML8tib4pV7Ek=";
60 leaveDotGit = true;
61 fetchSubmodules = true;
62 };
63
64 submodule-deep = testers.invalidateFetcherByDrvHash fetchFromGitHub {
65 name = "submodule-deep-source";
66 owner = "pineapplehunter";
67 repo = "nix-test-repo-with-submodule";
68 rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
69 sha256 = "sha256-3zWogs6EZBnzUfz6gBnigETTKGYl9KFKFgsy6Bl4DME=";
70 deepClone = true;
71 fetchSubmodules = true;
72 # deepClone implies leaveDotGit, so delete the .git directory after
73 # fetching to distinguish from the submodule-leave-git-deep test.
74 postFetch = "rm -r $out/.git";
75 };
76
77 submodule-leave-git-deep = testers.invalidateFetcherByDrvHash fetchFromGitHub {
78 name = "submodule-leave-git-deep-source";
79 owner = "pineapplehunter";
80 repo = "nix-test-repo-with-submodule";
81 rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
82 sha256 = "sha256-ieYn9I/0RgeSwQkSqwKaU3RgjKFlRqMg7zw0Nvu3azA=";
83 deepClone = true;
84 leaveDotGit = true;
85 fetchSubmodules = true;
86 };
87
88 dumb-http-signed-tag = testers.invalidateFetcherByDrvHash fetchFromGitHub {
89 name = "dumb-http-signed-tag-source";
90 owner = "NixOS";
91 repo = "nix";
92 tag = "2.9.2";
93 sha256 = "sha256-uZCaBo9rdWRO/AlQMvVVjpAwzYijB2H5KKQqde6eHkg=";
94 };
95
96 fetchTags = testers.invalidateFetcherByDrvHash fetchFromGitHub {
97 name = "fetchFromGitHub-fetch-tags-test";
98 owner = "NixOS";
99 repo = "nix";
100 rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
101 fetchTags = true;
102 leaveDotGit = true;
103 sha256 = "sha256-y7l+46lVP2pzJwGON5qEV0EoxWofRoWAym5q9VXvpc8=";
104 postFetch = ''
105 cd $out && git describe --tags --always > describe-output.txt 2>&1 || echo "git describe failed" > describe-output.txt
106 # See https://github.com/NixOS/nixpkgs/issues/412967#issuecomment-2927452118
107 rm -rf .git
108 '';
109 };
110
111 rootDir = testers.invalidateFetcherByDrvHash fetchFromGitHub {
112 name = "fetchFromGitHub-with-rootdir";
113 owner = "NixOS";
114 repo = "nix";
115 rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
116 rootDir = "misc/systemd";
117 hash = "sha256-UhxHk4SrXYq7ZDMtXLig5SigpbITrVgkpFTmryuvpcM=";
118 };
119}