+1
nixos/modules/module-list.nix
···
+299
nixos/modules/services/continuous-integration/github-runner.nix
···+Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here:+<link xlink:href="https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners"+Extra packages to add to <literal>PATH</literal> of the service to make them available to workflows.+runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" ] cfg;+newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig);+cp "$STATE_DIRECTORY/${currentConfigTokenFilename}" "$RUNTIME_DIRECTORY/${currentConfigTokenFilename}"+# Set `differs = 1` if current and new runner config differ or if `currentConfigPath` does not exist+${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 || differs=1+mv "$RUNTIME_DIRECTORY"/${newConfigTokenFilename} "$STATE_DIRECTORY/${currentConfigTokenFilename}"
+265
pkgs/development/tools/continuous-integration/github-runner/default.nix
···+"FullyQualifiedName!=GitHub.Runner.Common.Tests.Listener.RunnerL0.TestRunOnceHandleUpdateMessage"+(x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.Worker.ActionManagerL0.PrepareActions_${x}")+# Don't try to self-update runner (cannot be disabled, see https://github.com/actions/runner/issues/485)
+1217
pkgs/development/tools/continuous-integration/github-runner/deps.nix
···
+53
pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch
···+<Message Text="Building $(Product): $(GitInfoCommitHash) --- $(PackageRuntime)" Importance="high"/>+<MSBuild Targets="Publish" Projects="@(ProjectFiles)" BuildInParallel="false" StopOnFirstFailure="true" Properties="Configuration=$(BUILDCONFIG);PackageRuntime=$(PackageRuntime);Version=$(RunnerVersion);RuntimeIdentifier=$(PackageRuntime);PublishDir=$(MSBuildProjectDirectory)/../_layout/bin" />+<Exec Command="%22$(DesktopMSBuild)%22 Runner.Service/Windows/RunnerService.csproj /p:Configuration=$(BUILDCONFIG) /p:OutputPath=%22$(MSBuildProjectDirectory)/../_layout/bin%22" ConsoleToMSBuild="true" Condition="'$(PackageRuntime)' == 'win-x64' Or '$(PackageRuntime)' == 'win-x86'" />+- <Exec Command="dotnet build Test/Test.csproj -c $(BUILDCONFIG) /p:PackageRuntime=$(PackageRuntime)" ConsoleToMSBuild="true" />+- <Exec Command="dotnet test Test/Test.csproj --no-build --logger:trx" ConsoleToMSBuild="true" />++ <Exec Command="dotnet build Test/Test.csproj --no-restore -c $(BUILDCONFIG) /p:PackageRuntime=$(PackageRuntime)" ConsoleToMSBuild="true" />++ <Exec Command="dotnet test Test/Test.csproj --no-restore --no-build --logger:trx" ConsoleToMSBuild="true" />
+15
pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch
···+diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs+- // generate service config script for OSX and Linux, GenerateScripts() will no-opt on windows.
+20
pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch
···
+24
pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch
···+if (string.Equals(message.MessageType, AgentRefreshMessage.MessageType, StringComparison.OrdinalIgnoreCase))+- selfUpdateTask = selfUpdater.SelfUpdate(runnerUpdateMessage, jobDispatcher, !runOnce && HostContext.StartupType != StartupType.Service, HostContext.RunnerShutdownToken);+- Trace.Info("Refresh message received, skip autoupdate since a previous autoupdate is already running.");+else if (string.Equals(message.MessageType, JobRequestMessageTypes.PipelineAgentJobRequest, StringComparison.OrdinalIgnoreCase))
+25
pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch
···+- string diagLogDirectory = Path.Combine(new DirectoryInfo(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)).Parent.FullName, Constants.Path.DiagDirectory);+_traceManager = new TraceManager(new HostTraceListener(diagLogDirectory, hostType, logPageSize, logRetentionDays), this.SecretMasker);
+2
pkgs/top-level/all-packages.nix
···