1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-25 10:41:16 +02:00

add lfs test, enable lfs on gitea in nixos test

This commit is contained in:
Brian Camacho 2024-11-07 22:54:14 -05:00
parent ef6fa54e05
commit 4bdfeab5f4
2 changed files with 21 additions and 16 deletions

View file

@ -6,15 +6,14 @@
# purge nix git cache to make sure we start with a clean slate # purge nix git cache to make sure we start with a clean slate
client.succeed("rm -rf ~/.cache/nix") client.succeed("rm -rf ~/.cache/nix")
# add two commits to the repo: # add an lfs-enrolled file to the repo:
client.succeed(f""" client.succeed(f"dd if=/dev/urandom of={repo.path}/beeg bs=1M count=1")
dd if=/dev/urandom of={repo.path}/beeg bs=1M count=1 \ client.succeed(f"{repo.git} lfs install")
&& {repo.git} lfs track "beeg" \ client.succeed(f"{repo.git} lfs track --filename \"beeg\"")
&& {repo.git} add .gitattributes \ client.succeed(f"{repo.git} add .gitattributes")
&& {repo.git} add beeg \ client.succeed(f"{repo.git} add beeg")
&& {repo.git} commit -m 'commit1' \ client.succeed(f"{repo.git} commit -m 'commit1'")
&& {repo.git} push origin main client.succeed(f"{repo.git} push origin main")
""")
# memoize the revision # memoize the revision
commit1_rev = client.succeed(f""" commit1_rev = client.succeed(f"""
@ -24,9 +23,9 @@
# first fetch without lfs, check that we did not smudge the file # first fetch without lfs, check that we did not smudge the file
fetchGit_nolfs_expr = f""" fetchGit_nolfs_expr = f"""
builtins.fetchGit {{ builtins.fetchGit {{
type = "git";
url = "{repo.remote}"; url = "{repo.remote}";
rev = "{commit1_rev}"; rev = "{commit1_rev}";
ref = "main";
lfs = false; lfs = false;
}} }}
""" """
@ -42,14 +41,14 @@
""").strip() """).strip()
expected_max_size_lfs = 1024 expected_max_size_lfs = 1024
assert int(file_size_nolfs) < expected_max_size_lfs, f"lfs-enrolled file bigger than {expected_max_size_lfs}, file was probably smudged but we did not set lfs=true" assert int(file_size_nolfs) < expected_max_size_lfs, f"did not set lfs=true, yet lfs-enrolled file is {file_size_nolfs}b (>{expected_max_size_lfs}b), probably smudged when we should not have"
# now fetch with lfs=true and check that the file was smudged # now fetch with lfs=true and check that the file was smudged
fetchGit_lfs_expr = f""" fetchGit_lfs_expr = f"""
builtins.fetchGit {{ builtins.fetchGit {{
type = "git";
url = "{repo.remote}"; url = "{repo.remote}";
rev = "{commit1_rev}"; rev = "{commit1_rev}";
ref = "main";
lfs = true; lfs = true;
}} }}
""" """
@ -65,6 +64,6 @@
""").strip() """).strip()
expected_min_size_lfs = 1024 * 1024 # 1MB expected_min_size_lfs = 1024 * 1024 # 1MB
assert int(file_size_lfs) >= expected_min_size_lfs, f"lfs-enrolled file smaller than {expected_min_size_lfs}, file was probably not smudged despite lfs=true" assert int(file_size_lfs) >= expected_min_size_lfs, f"set lfs=true, yet lfs-enrolled file is {file_size_lfs}b (<{expected_min_size_lfs}), probably did not smudge when we should have"
''; '';
} }

View file

@ -20,9 +20,15 @@ in {
nodes = { nodes = {
gitea = { pkgs, ... }: { gitea = { pkgs, ... }: {
services.gitea.enable = true; services.gitea.enable = true;
services.gitea.settings.service.DISABLE_REGISTRATION = true; services.gitea.lfs.enable = true;
services.gitea.settings.log.LEVEL = "Info"; services.gitea.settings = {
services.gitea.settings.database.LOG_SQL = false; service.DISABLE_REGISTRATION = true;
server.DOMAIN = "gitea";
server.HTTP_PORT = 3000;
log.LEVEL = "Info";
database.LOG_SQL = false;
};
services.openssh.enable = true; services.openssh.enable = true;
networking.firewall.allowedTCPPorts = [ 3000 ]; networking.firewall.allowedTCPPorts = [ 3000 ];
environment.systemPackages = [ pkgs.git pkgs.gitea ]; environment.systemPackages = [ pkgs.git pkgs.gitea ];