at 25.11-pre 2.7 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 { 4 name = "renovate"; 5 meta.maintainers = with pkgs.lib.maintainers; [ 6 marie 7 natsukium 8 ]; 9 10 nodes.machine = 11 { config, ... }: 12 { 13 services.renovate = { 14 enable = true; 15 settings = { 16 platform = "gitea"; 17 endpoint = "http://localhost:3000"; 18 autodiscover = true; 19 gitAuthor = "Renovate <renovate@example.com>"; 20 }; 21 credentials = { 22 RENOVATE_TOKEN = "/etc/renovate-token"; 23 }; 24 }; 25 environment.systemPackages = [ 26 config.services.forgejo.package 27 pkgs.tea 28 pkgs.git 29 ]; 30 services.forgejo = { 31 enable = true; 32 settings.server.HTTP_PORT = 3000; 33 }; 34 # Uncomment the next line to lint service scripts (Note: breaks VM startup; see #373166) 35 #systemd.enableStrictShellChecks = true; 36 }; 37 38 testScript = '' 39 def gitea(command): 40 return machine.succeed(f"cd /var/lib/forgejo && sudo --user=forgejo GITEA_WORK_DIR=/var/lib/forgejo GITEA_CUSTOM=/var/lib/forgejo/custom gitea {command}") 41 42 machine.wait_for_unit("forgejo.service") 43 machine.wait_for_open_port(3000) 44 45 machine.systemctl("stop forgejo.service") 46 47 gitea("admin user create --username meow --email meow@example.com --password meow") 48 49 machine.systemctl("start forgejo.service") 50 machine.wait_for_unit("forgejo.service") 51 machine.wait_for_open_port(3000) 52 53 accessToken = gitea("admin user generate-access-token --raw --username meow --scopes all | tr -d '\n'") 54 55 machine.succeed(f"tea login add --name default --user meow --token '{accessToken}' --password meow --url http://localhost:3000") 56 machine.succeed("tea repo create --name kitty --init") 57 machine.succeed("git config --global user.name Meow") 58 machine.succeed("git config --global user.email meow@example.com") 59 machine.succeed(f"git clone http://meow:{accessToken}@localhost:3000/meow/kitty.git /tmp/kitty") 60 machine.succeed("echo '{ \"name\": \"meow\", \"version\": \"0.1.0\" }' > /tmp/kitty/package.json") 61 machine.succeed("git -C /tmp/kitty add /tmp/kitty/package.json") 62 machine.succeed("git -C /tmp/kitty commit -m 'add package.json'") 63 machine.succeed("git -C /tmp/kitty push origin") 64 65 machine.succeed(f"echo '{accessToken}' > /etc/renovate-token") 66 machine.systemctl("start --wait renovate.service") 67 68 machine.succeed("tea pulls list --repo meow/kitty | grep 'Configure Renovate'") 69 machine.succeed("tea pulls merge --repo meow/kitty 1") 70 71 machine.systemctl("start --wait renovate.service") 72 ''; 73 } 74)