Merge pull request #228815 from mweinelt/gitea-runner-test

nixos/tests/gitea: Tests actions runner registration

authored by Emily and committed by GitHub d7937ece 5150e298

+26 -1
+26 -1
nixos/tests/gitea.nix
··· 37 37 package = giteaPackage; 38 38 settings.service.DISABLE_REGISTRATION = true; 39 39 settings."repository.signing".SIGNING_KEY = signingPrivateKeyId; 40 + settings.actions.ENABLED = true; 40 41 }; 41 42 environment.systemPackages = [ giteaPackage pkgs.gnupg pkgs.jq ]; 42 43 services.openssh.enable = true; 44 + 45 + specialisation.runner = { 46 + inheritParentConfig = true; 47 + 48 + configuration.services.gitea-actions-runner.instances."test" = { 49 + enable = true; 50 + name = "ci"; 51 + url = "http://localhost:3000"; 52 + labels = [ 53 + # don't require docker/podman 54 + "native:host" 55 + ]; 56 + tokenFile = "/var/lib/gitea/runner_token"; 57 + }; 58 + }; 43 59 }; 44 60 client1 = { config, pkgs, ... }: { 45 61 environment.systemPackages = [ pkgs.git ]; ··· 49 65 }; 50 66 }; 51 67 52 - testScript = let 68 + testScript = { nodes, ... }: let 53 69 inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; 70 + serverSystem = nodes.server.system.build.toplevel; 54 71 in '' 55 72 GIT_SSH_COMMAND = "ssh -i $HOME/.ssh/privk -o StrictHostKeyChecking=no" 56 73 REPO = "gitea@server:test/repo" ··· 125 142 'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits ' 126 143 + '-H "Accept: application/json" | jq length)" = "1"' 127 144 ) 145 + 146 + with subtest("Testing runner registration"): 147 + server.succeed( 148 + "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea actions generate-runner-token' | sed 's/^/TOKEN=/' | tee /var/lib/gitea/runner_token" 149 + ) 150 + server.succeed("${serverSystem}/specialisation/runner/bin/switch-to-configuration test") 151 + server.wait_for_unit("gitea-runner-test.service") 152 + server.succeed("journalctl -o cat -u gitea-runner-test.service | grep -q 'Runner registered successfully'") 128 153 ''; 129 154 }); 130 155 in