From 73805dd8df20a09fa257111b92387450d8d5e53d Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:17:10 -0500 Subject: [PATCH 001/184] link: actions/runner#... Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1751-runner-job-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index 8e81f50e780..c9c739dad31 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -2,7 +2,7 @@ ## Context -This ADR details the design changes for supporting custom configurable hooks for on various runner events. This has been a long requested user feature [here](https://github.com/actions/runner/issues/1543), [here](https://github.com/actions/runner/issues/699) and [here](https://github.com/actions/runner/issues/1116) for users to have more information on runner observability, and for the ability to run cleanup and teardown jobs. +This ADR details the design changes for supporting custom configurable hooks for on various runner events. This has been a long requested user feature ([actions/runner#699](https://github.com/actions/runner/issues/699) [actions/runner#1116](https://github.com/actions/runner/issues/1116), and [actions/runner#1543](https://github.com/actions/runner/issues/1543)) for users to have more information on runner observability, and for the ability to run cleanup and teardown jobs. This feature is mainly intended for self hosted runner administrators. From fe556c55deb5e07bea737a10b5c14bd98a100d95 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:17:31 -0500 Subject: [PATCH 002/184] link: joelparkerhenderson/architecture-decision-record Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/README.md b/docs/adrs/README.md index a5274b04797..3334190e26c 100644 --- a/docs/adrs/README.md +++ b/docs/adrs/README.md @@ -16,4 +16,4 @@ This folder includes ADRs for the actions runner. ADRs are proposed in the form --- -- More information about ADRs can be found [here](https://github.com/joelparkerhenderson/architecture_decision_record). +- More information about ADRs can be found in [joelparkerhenderson/architecture-decision-record](https://github.com/joelparkerhenderson/architecture_decision_record). From d4928939b7ea777a3cd5413b7a19028ea500e96d Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:18:24 -0500 Subject: [PATCH 003/184] link: dotnet load SSL CA certificates on each OS Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/checks/sslcert.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/checks/sslcert.md b/docs/checks/sslcert.md index 2ab09b722d2..d1edc4deb3a 100644 --- a/docs/checks/sslcert.md +++ b/docs/checks/sslcert.md @@ -24,9 +24,7 @@ Depends on how your SSL server certificate gets configured, you might need to do ### Trust CA certificate for the Runner -The actions runner is a dotnet core application which will follow how dotnet load SSL CA certificates on each OS. - -You can get full details documentation at [here](https://docs.microsoft.com/en-us/dotnet/standard/security/cross-platform-cryptography#x509store) +The actions runner is a dotnet core application which will follow how [dotnet load SSL CA certificates on each OS](https://docs.microsoft.com/en-us/dotnet/standard/security/cross-platform-cryptography#x509store). In short: - Windows: Load from Windows certificate store. From 4e982fe6e361d6d9ef06dec18993f5999546003f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:18:58 -0500 Subject: [PATCH 004/184] link: automate your use of self-hosted runners Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- scripts/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/README.md b/scripts/README.md index 9735150510b..405d693c31f 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -1,4 +1,3 @@ # Sample scripts for self-hosted runners -Here are some examples to work from if you'd like to automate your use of self-hosted runners. -See the docs [here](../docs/automate.md). +Here are some examples to work from if you'd like to [automate your use of self-hosted runners](../docs/automate.md). From 5a71503b21a01c853efc47a375e9878e779dc963 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:55:11 -0500 Subject: [PATCH 005/184] spelling: a string to the method Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs b/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs index e098bfd7562..9089b7d5d6b 100644 --- a/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs +++ b/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs @@ -266,7 +266,7 @@ public async Task GetTokenAsync( { // It may seem strange to pass the string value of TotalSeconds into this method, but testing // showed that ETW is persnickety when you register a method in an EventSource that doesn't - // use strings or integers as its parameters. It is easier to simply give the method a string + // use strings or integers as its parameters. It is easier to simply give a string to the method // than figure out to get ETW to reliably accept a double or TimeSpan. VssHttpEventSource.Log.AuthorizationDelayed(getTokenTime.TotalSeconds.ToString()); } From 30a2c4824a2bd96df0999a1172ef7e4c9a4c236f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:02:35 -0500 Subject: [PATCH 006/184] spelling: a Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- scripts/remove-svc.sh | 2 +- src/Runner.Listener/JobDispatcher.cs | 2 +- src/Runner.Listener/Runner.cs | 2 +- src/Runner.Worker/ActionManager.cs | 2 +- src/Sdk/Common/Common/Authentication/VssCredentials.cs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/remove-svc.sh b/scripts/remove-svc.sh index 7fae4ca976e..ba9583239b0 100755 --- a/scripts/remove-svc.sh +++ b/scripts/remove-svc.sh @@ -51,7 +51,7 @@ runner_plat=linux echo echo "Generating a removal token..." -# if the scope has a slash, it's an repo runner +# if the scope has a slash, it's a repo runner base_api_url="https://api.github.com/orgs" if [[ "$runner_scope" == *\/* ]]; then base_api_url="https://api.github.com/repos" diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index bbc09593c92..28220258e28 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -261,7 +261,7 @@ private async Task EnsureDispatchFinished(WorkerDispatcher jobDispatch, bool can // if the runner received a new job request while a previous job request is still running, this typically indicates two situations // 1. a runner bug caused a server and runner mismatch on the state of the job request, e.g. the runner didn't renew the jobrequest // properly but thinks it still owns the job reqest, however the server has already abandoned the jobrequest. - // 2. a server bug or design change that allowed the server to send more than one job request to an given runner that hasn't finished + // 2. a server bug or design change that allowed the server to send more than one job request to a given runner that hasn't finished //. a previous job request. var runnerServer = HostContext.GetService(); TaskAgentJobRequest request = null; diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs index 8262d31f12d..fc7199d6d00 100644 --- a/src/Runner.Listener/Runner.cs +++ b/src/Runner.Listener/Runner.cs @@ -518,7 +518,7 @@ private async Task RunAsync(RunnerSettings settings, bool runOnce = false) autoUpdateInProgress = false; if (await selfUpdateTask) { - Trace.Info("Auto update task finished at backend, an runner update is ready to apply exit the current runner instance."); + Trace.Info("Auto update task finished at backend, a runner update is ready to apply exit the current runner instance."); Trace.Info("Stop message queue looping."); messageQueueLoopTokenSource.Cancel(); try diff --git a/src/Runner.Worker/ActionManager.cs b/src/Runner.Worker/ActionManager.cs index e38ea4d28cd..17363577ca2 100644 --- a/src/Runner.Worker/ActionManager.cs +++ b/src/Runner.Worker/ActionManager.cs @@ -700,7 +700,7 @@ private async Task BuildActionContainerAsync(IExecutionContext executionContext, catch (Exception ex) when (!executionContext.CancellationToken.IsCancellationRequested) // Do not retry if the run is cancelled. { // UnresolvableActionDownloadInfoException is a 422 client error, don't retry - // NonRetryableActionDownloadInfoException is an non-retryable exception from Actions + // NonRetryableActionDownloadInfoException is a non-retryable exception from Actions // Some possible cases are: // * Repo is rate limited // * Repo or tag doesn't exist, or isn't public diff --git a/src/Sdk/Common/Common/Authentication/VssCredentials.cs b/src/Sdk/Common/Common/Authentication/VssCredentials.cs index c29c5fa3119..6e642a3c2be 100644 --- a/src/Sdk/Common/Common/Authentication/VssCredentials.cs +++ b/src/Sdk/Common/Common/Authentication/VssCredentials.cs @@ -291,7 +291,7 @@ public bool TryGetTokenProvider( /// Determines if the web response is an authentication redirect for issued token providers. /// /// The web response - /// True if this is an token authentication redirect, false otherwise + /// True if this is a token authentication redirect, false otherwise internal bool IsAuthenticationChallenge(IHttpResponse webResponse) { if (webResponse == null) From 7fb0576a2068ca4a83bf2480633485618e1b316a Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:57:44 -0500 Subject: [PATCH 007/184] spelling: accidentally Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1891-container-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/1891-container-hooks.md b/docs/adrs/1891-container-hooks.md index 5c905e40588..8b8e73efdd5 100644 --- a/docs/adrs/1891-container-hooks.md +++ b/docs/adrs/1891-container-hooks.md @@ -46,7 +46,7 @@ All text written to stdout or stderr should appear in the job or step logs. With 1. Wrapping the json in some unique tag and processing it like we do commands 2. Writing to a file -For 1, users typically view logging information as a safe action, so we worry someone accidentialy logging unsantized information and causing unexpected or un-secure behavior. We eventually plan to move off of stdout/stderr style commands in favor of a runner cli. +For 1, users typically view logging information as a safe action, so we worry someone accidentally logging unsantized information and causing unexpected or un-secure behavior. We eventually plan to move off of stdout/stderr style commands in favor of a runner cli. Investing in this area doesn't make a lot of sense at this time. While writing to a file to communicate isn't the most ideal pattern, its an existing pattern in the runner and serves us well, so lets reuse it. From aeb7bba01b67b369386ce541c4028c2445301fdf Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:57:50 -0500 Subject: [PATCH 008/184] spelling: account Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../L0/Listener/Configuration/NativeWindowsServiceHelperL0.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Test/L0/Listener/Configuration/NativeWindowsServiceHelperL0.cs b/src/Test/L0/Listener/Configuration/NativeWindowsServiceHelperL0.cs index 8623a7872d0..83a440cc33d 100644 --- a/src/Test/L0/Listener/Configuration/NativeWindowsServiceHelperL0.cs +++ b/src/Test/L0/Listener/Configuration/NativeWindowsServiceHelperL0.cs @@ -30,7 +30,7 @@ public void EnsureGetDefaultServiceAccountShouldReturnNetworkServiceAccount() trace.Info("Trying to get the Default Service Account when a BuildRelease Agent is being configured"); var defaultServiceAccount = windowsServiceHelper.GetDefaultServiceAccount(); - Assert.True(defaultServiceAccount.ToString().Equals(@"NT AUTHORITY\NETWORK SERVICE"), "If agent is getting configured as build-release agent, default service accout should be 'NT AUTHORITY\\NETWORK SERVICE'"); + Assert.True(defaultServiceAccount.ToString().Equals(@"NT AUTHORITY\NETWORK SERVICE"), "If agent is getting configured as build-release agent, default service account should be 'NT AUTHORITY\\NETWORK SERVICE'"); } } @@ -48,7 +48,7 @@ public void EnsureGetDefaultAdminServiceAccountShouldReturnLocalSystemAccount() trace.Info("Trying to get the Default Service Account when a DeploymentAgent is being configured"); var defaultServiceAccount = windowsServiceHelper.GetDefaultAdminServiceAccount(); - Assert.True(defaultServiceAccount.ToString().Equals(@"NT AUTHORITY\SYSTEM"), "If agent is getting configured as deployment agent, default service accout should be 'NT AUTHORITY\\SYSTEM'"); + Assert.True(defaultServiceAccount.ToString().Equals(@"NT AUTHORITY\SYSTEM"), "If agent is getting configured as deployment agent, default service account should be 'NT AUTHORITY\\SYSTEM'"); } } #pragma warning restore CA1416 From 326880d9ec0da424f7e5bbbef257aa59d743c2da Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:58:10 -0500 Subject: [PATCH 009/184] spelling: act Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Listener/JobDispatcherL0.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Test/L0/Listener/JobDispatcherL0.cs b/src/Test/L0/Listener/JobDispatcherL0.cs index 3b26233a456..1f0d66d6da7 100644 --- a/src/Test/L0/Listener/JobDispatcherL0.cs +++ b/src/Test/L0/Listener/JobDispatcherL0.cs @@ -89,7 +89,7 @@ public async void DispatchesJobRequest(string billingOwnerId) _runnerServer.Setup(x => x.FinishAgentRequestAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).Returns(Task.FromResult(new TaskAgentJobRequest())); - //Actt + //Act jobDispatcher.Run(message); //Assert From 76de1cfb6657da2f41dbb0b1435604cfa43bf974 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:58:21 -0500 Subject: [PATCH 010/184] spelling: administrator Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1751-runner-job-hooks.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index c9c739dad31..75483ad99c8 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -7,8 +7,8 @@ This ADR details the design changes for supporting custom configurable hooks for This feature is mainly intended for self hosted runner administrators. **What we hope to solve with this feature** -1. A runner admininstrator is able to add custom scripts to cleanup their runner environment at the start or end of a job -2. A runner admininstrator is able to add custom scripts to help setup their runner environment at the beginning of a job, for reasons like [caching](https://github.com/actions/runner/issues/1543#issuecomment-1050346279) +1. A runner administrator is able to add custom scripts to cleanup their runner environment at the start or end of a job +2. A runner administrator is able to add custom scripts to help setup their runner environment at the beginning of a job, for reasons like [caching](https://github.com/actions/runner/issues/1543#issuecomment-1050346279) 3. A runner administrator is able to grab custom telemetry of jobs running on their self hosted runner **What we don't think this will solve** From b93102d98f770c7abdbd9b42a9a0598333b76644 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:01:54 -0500 Subject: [PATCH 011/184] spelling: all Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/RunnerServer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Common/RunnerServer.cs b/src/Runner.Common/RunnerServer.cs index b2e4e498afb..7c7d3de2137 100644 --- a/src/Runner.Common/RunnerServer.cs +++ b/src/Runner.Common/RunnerServer.cs @@ -233,7 +233,7 @@ public Task> GetAgentsAsync(int agentPoolId, string agentName = public Task> GetAgentsAsync(string agentName) { - return GetAgentsAsync(0, agentName); // search in all all agentPools + return GetAgentsAsync(0, agentName); // search in all agentPools } public Task ReplaceAgentAsync(int agentPoolId, TaskAgent agent) From 99f0ced378a446a64a839ea8a1663411dbc7a7f8 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:58:30 -0500 Subject: [PATCH 012/184] spelling: already Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs b/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs index 10c25904b3d..eb7ed9ad9f7 100644 --- a/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs +++ b/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs @@ -269,7 +269,7 @@ private static byte[] GetSignature(JWTHeader header, JWTPayload payload, VssSign return GetSignature(header, payload, alg, credentials); } - //if we alread have the alg, we assume that the creds have been validated already, + //if we already have the alg, we assume that the creds have been validated already, //to save the expense of validating twice in the create function... private static byte[] GetSignature(JWTHeader header, JWTPayload payload, JWTAlgorithm alg, VssSigningCredentials signingCredentials) { From 7fb75720bffa53f8ffc606920efeb17aa72a50e6 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:58:37 -0500 Subject: [PATCH 013/184] spelling: always Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index a202b0ea26b..93e37523ebe 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -341,7 +341,7 @@ private ConstructorInfo GetMatchingConstructor(params Type[] parameterTypes) private static Type LoadType(String typeName) { // For rest api version < 3.0, the server transmits the fulllAssemblyQualifiedName of exception at time that version was initially released, - // which means normal loading will fail due to version mismatch, as the version will alwyas be <= 14.0.0.0. + // which means normal loading will fail due to version mismatch, as the version will always be <= 14.0.0.0. // Example: typeName=GitHub.Core.WebApi.ProjectDoesNotExistWithNameException, GitHub.Core.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a // For rest api version >= 3.0 (dev15), it just sends an assembly qualified type name without Version and PublicKeyToken, so it is version agnostic. From 18d993855d67ce95744c2fb216e31639ef8f23cb Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 07:58:57 -0500 Subject: [PATCH 014/184] spelling: an Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/0279-hashFiles-expression-function.md | 2 +- src/Misc/layoutbin/update.cmd.template | 4 ++-- src/Runner.Common/Constants.cs | 2 +- src/Runner.Listener/SelfUpdater.cs | 2 +- src/Runner.Service/Windows/RunnerService.cs | 2 +- src/Runner.Worker/Handlers/Handler.cs | 2 +- src/Sdk/Common/Common/Utility/UriUtility.cs | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/adrs/0279-hashFiles-expression-function.md b/docs/adrs/0279-hashFiles-expression-function.md index 1de07a82747..177d6d90e0c 100644 --- a/docs/adrs/0279-hashFiles-expression-function.md +++ b/docs/adrs/0279-hashFiles-expression-function.md @@ -5,7 +5,7 @@ **Status**: Accepted ## Context -First party action `actions/cache` needs a input which is an explicit `key` used for restoring and saving the cache. For packages caching, the most common `key` might be the hash result of contents from all `package-lock.json` under `node_modules` folder. +First party action `actions/cache` needs an input which is an explicit `key` used for restoring and saving the cache. For packages caching, the most common `key` might be the hash result of contents from all `package-lock.json` under `node_modules` folder. There are serval different ways to get the hash `key` input for `actions/cache` action. diff --git a/src/Misc/layoutbin/update.cmd.template b/src/Misc/layoutbin/update.cmd.template index 66267a7277e..495c647a4e7 100644 --- a/src/Misc/layoutbin/update.cmd.template +++ b/src/Misc/layoutbin/update.cmd.template @@ -83,7 +83,7 @@ if ERRORLEVEL 1 ( rem check externals folder dir "%rootfolder%" /AL 2>&1 | findstr "externals" >> "%logfile%" 2>&1 if ERRORLEVEL 1 ( - rem return code 1 means it can't find a externals folder that is a junction folder + rem return code 1 means it can't find an externals folder that is a junction folder rem so we need to move the current externals folder to externals.2.99.0 folder. echo [%date% %time%] move "%rootfolder%\externals" "%rootfolder%\externals.%existrunnerversion%" >> "%logfile%" 2>&1 move "%rootfolder%\externals" "%rootfolder%\externals.%existrunnerversion%" >> "%logfile%" 2>&1 @@ -92,7 +92,7 @@ if ERRORLEVEL 1 ( goto fail ) ) else ( - rem otherwise it find a externals folder that is a junction folder + rem otherwise it find an externals folder that is a junction folder rem we just need to delete the junction point. echo [%date% %time%] Delete existing junction externals folder >> "%logfile%" 2>&1 rmdir "%rootfolder%\externals" >> "%logfile%" 2>&1 diff --git a/src/Runner.Common/Constants.cs b/src/Runner.Common/Constants.cs index 045e906637e..3f3cbf3be80 100644 --- a/src/Runner.Common/Constants.cs +++ b/src/Runner.Common/Constants.cs @@ -199,7 +199,7 @@ public static class NodeMigration public static readonly string ResultsUploadFailure = "RESULTS_UPLOAD_FAILURE"; public static readonly string UnsupportedCommandMessage = "The `{0}` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/"; public static readonly string UnsupportedCommandMessageDisabled = "The `{0}` command is disabled. Please upgrade to using Environment Files or opt into unsecure command execution by setting the `ACTIONS_ALLOW_UNSECURE_COMMANDS` environment variable to `true`. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/"; - public static readonly string UnsupportedStopCommandTokenDisabled = "You cannot use a endToken that is an empty string, the string 'pause-logging', or another workflow command. For more information see: https://docs.github.com/actions/learn-github-actions/workflow-commands-for-github-actions#example-stopping-and-starting-workflow-commands or opt into insecure command execution by setting the `ACTIONS_ALLOW_UNSECURE_STOPCOMMAND_TOKENS` environment variable to `true`."; + public static readonly string UnsupportedStopCommandTokenDisabled = "You cannot use an endToken that is an empty string, the string 'pause-logging', or another workflow command. For more information see: https://docs.github.com/actions/learn-github-actions/workflow-commands-for-github-actions#example-stopping-and-starting-workflow-commands or opt into insecure command execution by setting the `ACTIONS_ALLOW_UNSECURE_STOPCOMMAND_TOKENS` environment variable to `true`."; public static readonly string UnsupportedSummarySize = "$GITHUB_STEP_SUMMARY upload aborted, supports content up to a size of {0}k, got {1}k. For more information see: https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-markdown-summary"; public static readonly string SummaryUploadError = "$GITHUB_STEP_SUMMARY upload aborted, an error occurred when uploading the summary. For more information see: https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-markdown-summary"; } diff --git a/src/Runner.Listener/SelfUpdater.cs b/src/Runner.Listener/SelfUpdater.cs index 6ebeebd8270..66f171c7f83 100644 --- a/src/Runner.Listener/SelfUpdater.cs +++ b/src/Runner.Listener/SelfUpdater.cs @@ -631,7 +631,7 @@ private async Task UpdateRunnerUpdateStateAsync(string currentState) } catch (VssResourceNotFoundException) { - // ignore VssResourceNotFoundException, this exception means the runner is configured against a old server that doesn't support report runner update detail. + // ignore VssResourceNotFoundException, this exception means the runner is configured against an old server that doesn't support report runner update detail. Trace.Info($"Catch VssResourceNotFoundException during report update state, ignore this error for backcompat."); } catch (Exception ex) diff --git a/src/Runner.Service/Windows/RunnerService.cs b/src/Runner.Service/Windows/RunnerService.cs index ca2652f624e..b2dbcdbae74 100644 --- a/src/Runner.Service/Windows/RunnerService.cs +++ b/src/Runner.Service/Windows/RunnerService.cs @@ -246,7 +246,7 @@ private RunnerUpdateResult HandleRunnerUpdate() FileInfo[] updateLogs = dirInfo.GetFiles("SelfUpdate-*-*.log.*") ?? new FileInfo[0]; if (updateLogs.Length == 0) { - // totally wrong, we are not even get a update log. + // totally wrong, we are not even get an update log. return RunnerUpdateResult.Failed; } else diff --git a/src/Runner.Worker/Handlers/Handler.cs b/src/Runner.Worker/Handlers/Handler.cs index 5d77a051768..1ad30037949 100644 --- a/src/Runner.Worker/Handlers/Handler.cs +++ b/src/Runner.Worker/Handlers/Handler.cs @@ -28,7 +28,7 @@ public interface IHandler : IRunnerService public abstract class Handler : RunnerService { #if OS_WINDOWS - // In windows OS the maximum supported size of a environment variable value is 32k. + // In windows OS the maximum supported size of an environment variable value is 32k. // You can set environment variable greater then 32K, but that variable will not be able to read in node.exe. private const int _environmentVariableMaximumSize = 32766; #endif diff --git a/src/Sdk/Common/Common/Utility/UriUtility.cs b/src/Sdk/Common/Common/Utility/UriUtility.cs index c80cb592c09..cdabd246383 100644 --- a/src/Sdk/Common/Common/Utility/UriUtility.cs +++ b/src/Sdk/Common/Common/Utility/UriUtility.cs @@ -416,7 +416,7 @@ public static string GetDavUncFromHttpPath(string httppath) } /// - /// Given a input path that might correspond to a UNC path known to the Windows Client WebDav Redirector, + /// Given an input path that might correspond to a UNC path known to the Windows Client WebDav Redirector, /// returns the converted UNC path to an HTTP (or HTTPS) url. /// /// From 45e995d2ce18eb0ab5280407f2cd6469cd341166 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:57:56 -0500 Subject: [PATCH 015/184] spelling: anchors Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../Pipelines/ObjectTemplating/YamlObjectReader.cs | 6 +++--- src/Sdk/WorkflowParser/Conversion/YamlObjectReader.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/YamlObjectReader.cs b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/YamlObjectReader.cs index 431cceac003..0cf8ac726a7 100644 --- a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/YamlObjectReader.cs +++ b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/YamlObjectReader.cs @@ -221,7 +221,7 @@ private ParsingEvent EvaluateCurrent() { if (m_current is Scalar scalar) { - // Verify not using achors + // Verify not using anchors if (scalar.Anchor != null) { throw new InvalidOperationException($"Anchors are not currently supported. Remove the anchor '{scalar.Anchor}'"); @@ -229,7 +229,7 @@ private ParsingEvent EvaluateCurrent() } else if (m_current is MappingStart mappingStart) { - // Verify not using achors + // Verify not using anchors if (mappingStart.Anchor != null) { throw new InvalidOperationException($"Anchors are not currently supported. Remove the anchor '{mappingStart.Anchor}'"); @@ -237,7 +237,7 @@ private ParsingEvent EvaluateCurrent() } else if (m_current is SequenceStart sequenceStart) { - // Verify not using achors + // Verify not using anchors if (sequenceStart.Anchor != null) { throw new InvalidOperationException($"Anchors are not currently supported. Remove the anchor '{sequenceStart.Anchor}'"); diff --git a/src/Sdk/WorkflowParser/Conversion/YamlObjectReader.cs b/src/Sdk/WorkflowParser/Conversion/YamlObjectReader.cs index 970514e2046..8c8ce73106f 100644 --- a/src/Sdk/WorkflowParser/Conversion/YamlObjectReader.cs +++ b/src/Sdk/WorkflowParser/Conversion/YamlObjectReader.cs @@ -231,7 +231,7 @@ private ParsingEvent EvaluateCurrent_Legacy() { if (m_current is Scalar scalar) { - // Verify not using achors + // Verify not using anchors if (scalar.Anchor != null) { throw new InvalidOperationException($"Anchors are not currently supported. Remove the anchor '{scalar.Anchor}'"); @@ -239,7 +239,7 @@ private ParsingEvent EvaluateCurrent_Legacy() } else if (m_current is MappingStart mappingStart) { - // Verify not using achors + // Verify not using anchors if (mappingStart.Anchor != null) { throw new InvalidOperationException($"Anchors are not currently supported. Remove the anchor '{mappingStart.Anchor}'"); @@ -247,7 +247,7 @@ private ParsingEvent EvaluateCurrent_Legacy() } else if (m_current is SequenceStart sequenceStart) { - // Verify not using achors + // Verify not using anchors if (sequenceStart.Anchor != null) { throw new InvalidOperationException($"Anchors are not currently supported. Remove the anchor '{sequenceStart.Anchor}'"); From 8432403c620d5d42642ebfbb0e55193103e9c4ad Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:32:08 -0500 Subject: [PATCH 016/184] spelling: arg-string Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Handlers/StepHost.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Worker/Handlers/StepHost.cs b/src/Runner.Worker/Handlers/StepHost.cs index 211009658e4..fa79de884d1 100644 --- a/src/Runner.Worker/Handlers/StepHost.cs +++ b/src/Runner.Worker/Handlers/StepHost.cs @@ -243,7 +243,7 @@ await containerHookManager.RunScriptStepAsync(context, // [ARG...] dockerCommandArgs.Add(arguments); - string dockerCommandArgstring = string.Join(" ", dockerCommandArgs); + string dockerCommandArgString = string.Join(" ", dockerCommandArgs); TranslateToContainerPath(environment); using (var processInvoker = HostContext.CreateService()) @@ -260,7 +260,7 @@ await containerHookManager.RunScriptStepAsync(context, #endif return await processInvoker.ExecuteAsync(workingDirectory: HostContext.GetDirectory(WellKnownDirectory.Work), fileName: dockerClientPath, - arguments: dockerCommandArgstring, + arguments: dockerCommandArgString, environment: environment, requireExitCodeZero: requireExitCodeZero, outputEncoding: outputEncoding, From 200d7661098bd6fdafe6d0af2c7a40dc1fe40620 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:41:42 -0500 Subject: [PATCH 017/184] spelling: available Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Expressions/HashFilesFunction.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Worker/Expressions/HashFilesFunction.cs b/src/Runner.Worker/Expressions/HashFilesFunction.cs index ddd318c3c4a..515b09dcb60 100644 --- a/src/Runner.Worker/Expressions/HashFilesFunction.cs +++ b/src/Runner.Worker/Expressions/HashFilesFunction.cs @@ -56,7 +56,7 @@ protected sealed override Object EvaluateCore( } else { - throw new ArgumentOutOfRangeException($"Invalid glob option {parameterString}, avaliable option: '--follow-symbolic-links'."); + throw new ArgumentOutOfRangeException($"Invalid glob option {parameterString}, available option: '--follow-symbolic-links'."); } } } @@ -189,7 +189,7 @@ protected sealed override Object EvaluateCore( } else { - throw new ArgumentOutOfRangeException($"Invalid glob option {parameterString}, avaliable option: '--follow-symbolic-links'."); + throw new ArgumentOutOfRangeException($"Invalid glob option {parameterString}, available option: '--follow-symbolic-links'."); } } } From eb43841c29b287989c658b883a29370460de4c82 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:20:00 -0500 Subject: [PATCH 018/184] spelling: be Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Runner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs index fc7199d6d00..cd3b84d8de0 100644 --- a/src/Runner.Listener/Runner.cs +++ b/src/Runner.Listener/Runner.cs @@ -293,7 +293,7 @@ public async Task ExecuteCommand(CommandSettings command) // We need try our best to make the startup type accurate // The problem is coming from runner autoupgrade, which result an old version service host binary but a newer version runner binary // At that time the servicehost won't pass --startuptype to Runner.Listener while the runner is actually running as service. - // We will guess the startup type only when the runner is configured as service and the guess will based on whether STDOUT/STDERR/STDIN been redirect or not + // We will guess the startup type only when the runner is configured as service and the guess will be based on whether STDOUT/STDERR/STDIN been redirect or not Trace.Info($"Try determine runner startup type base on console redirects."); startType = (Console.IsErrorRedirected && Console.IsInputRedirected && Console.IsOutputRedirected) ? StartupType.Service : StartupType.Manual; } From 3e07c46b2abbbfa4dccb9e4722ea6eec21682c63 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:42:04 -0500 Subject: [PATCH 019/184] spelling: believe Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1751-runner-job-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index 75483ad99c8..c6984a375e2 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -14,7 +14,7 @@ This feature is mainly intended for self hosted runner administrators. **What we don't think this will solve** - Policy features that require certain steps run at the beginning or end of all jobs - This would be better solved to in a central place in settings, rather then decentralized on each runner. - - The Proposed `Notification Hooks for Runners` is limited to self hosted runners, we don't beileve Policy features should be + - The Proposed `Notification Hooks for Runners` is limited to self hosted runners, we don't believe Policy features should be - Reuse scenarios between jobs are covered by [composite actions](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action) and [resuable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows) - Security applications, security should be handled on the policy side on the server, not decentralized on each runner From 3e46386975e320f15126b4af65fcbf72877a9e22 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:42:21 -0500 Subject: [PATCH 020/184] spelling: belonging Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../WebApi/WebApi/Contracts/Profile/AttributesQueryContext.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Contracts/Profile/AttributesQueryContext.cs b/src/Sdk/WebApi/WebApi/Contracts/Profile/AttributesQueryContext.cs index 94db2400a20..a6bb07e33d5 100644 --- a/src/Sdk/WebApi/WebApi/Contracts/Profile/AttributesQueryContext.cs +++ b/src/Sdk/WebApi/WebApi/Contracts/Profile/AttributesQueryContext.cs @@ -117,7 +117,7 @@ public object Clone() /// Used to specify the scope of a set of attributes. /// /// - /// A profile attribute is either a core attribute or an attribute beloging to some application container. + /// A profile attribute is either a core attribute or an attribute belonging to some application container. /// A core attribute belongs to scope AttributesScope.Core. /// An attribute stored under some application container belongs to scope AttributesScope.Application. /// An attribute always belongs to scope AttributesScope.Core | AttributesScope.Application. From 19e3c62a0a710d4d23f5290d3fcf1c6758d21c93 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:42:52 -0500 Subject: [PATCH 021/184] spelling: boundary Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/VssException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/VssException.cs b/src/Sdk/Common/Common/VssException.cs index 5f8fb8c2554..8cc96913c70 100644 --- a/src/Sdk/Common/Common/VssException.cs +++ b/src/Sdk/Common/Common/VssException.cs @@ -15,7 +15,7 @@ namespace GitHub.Services.Common /// /// /// All Exceptions in the VSS space -- any exception that flows across - /// a REST API boudary -- should derive from VssServiceException. This is likely + /// a REST API boundary -- should derive from VssServiceException. This is likely /// almost ALL new exceptions. Legacy TFS exceptions that do not flow through rest /// derive from TeamFoundationServerException or TeamFoundationServiceException /// From c474081e8a1f9da38fa5f77f5f247be9c4a46661 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:43:16 -0500 Subject: [PATCH 022/184] spelling: buffered Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/JobServerQueue.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Common/JobServerQueue.cs b/src/Runner.Common/JobServerQueue.cs index 74c12bea28b..be888465b4b 100644 --- a/src/Runner.Common/JobServerQueue.cs +++ b/src/Runner.Common/JobServerQueue.cs @@ -56,7 +56,7 @@ public sealed class JobServerQueue : RunnerService, IJobServerQueue // indicate how many timelines we have, we will process _timelineUpdateQueue base on the order of timeline in this list private readonly List _allTimelines = new(); - // bufferd timeline records that fail to update + // buffered timeline records that fail to update private readonly Dictionary> _bufferedRetryRecords = new(); // Task for each queue's dequeue process From f155cdd91f64d340f160ffc7986dfe4b4d832e9c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:57:25 -0500 Subject: [PATCH 023/184] spelling: by design the data scheme is excluded from this list and the safe list Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/UriUtility.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/UriUtility.cs b/src/Sdk/Common/Common/Utility/UriUtility.cs index cdabd246383..59258f2436d 100644 --- a/src/Sdk/Common/Common/Utility/UriUtility.cs +++ b/src/Sdk/Common/Common/Utility/UriUtility.cs @@ -33,7 +33,7 @@ public static class UriUtility /// inform the user that it is unsafe and prevent navigation. /// /// - /// Note: the data scheme is not in this list nor is it in the safe list either, this is by design. + /// Note: by design the data scheme is excluded from this list and the safe list. /// See http://msdn.microsoft.com/en-us/library/ie/cc848897(v=vs.85).aspx for a reference of the data protocol. /// See http://www.gnucitizen.org/blog/bugs-in-the-browser-firefoxs-data-url-scheme-vulnerability/ for attacks on the data protocol. /// From 222709e9755c930cc58284b21d5930ed6600c1af Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:43:46 -0500 Subject: [PATCH 024/184] spelling: cache Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs b/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs index 4ae35563445..074a849d327 100644 --- a/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs +++ b/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs @@ -233,7 +233,7 @@ private static void EnsureCacheLoaded() } catch (Exception) { - // It looks like something is wrong witht he cahce, lets just hide this + // It looks like something is wrong witht he cache, lets just hide this // exception and work without it. s_cacheUnavailable = true; } From d7bb56393dc4d2a852cb7b6cfbe0f8d2586b203a Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:44:42 -0500 Subject: [PATCH 025/184] spelling: call Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTExpressions2/Expressions2/ExpressionConstants.cs | 2 +- src/Sdk/Expressions/ExpressionConstants.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/DTExpressions2/Expressions2/ExpressionConstants.cs b/src/Sdk/DTExpressions2/Expressions2/ExpressionConstants.cs index 89ae954e378..4560723aeaa 100644 --- a/src/Sdk/DTExpressions2/Expressions2/ExpressionConstants.cs +++ b/src/Sdk/DTExpressions2/Expressions2/ExpressionConstants.cs @@ -42,7 +42,7 @@ private static void AddFunction(String name, Int32 minParameters, Int32 maxPa internal const Char StartParameter = '('; // function call internal const Char EndGroup = ')'; // logical grouping internal const Char EndIndex = ']'; - internal const Char EndParameter = ')'; // function calll + internal const Char EndParameter = ')'; // function call internal const Char Separator = ','; internal const Char Dereference = '.'; internal const Char Wildcard = '*'; diff --git a/src/Sdk/Expressions/ExpressionConstants.cs b/src/Sdk/Expressions/ExpressionConstants.cs index ef544395f21..b43b9be4d55 100644 --- a/src/Sdk/Expressions/ExpressionConstants.cs +++ b/src/Sdk/Expressions/ExpressionConstants.cs @@ -44,7 +44,7 @@ private static void AddFunction(String name, Int32 minParameters, Int32 maxPa public static readonly Char StartParameter = '('; // function call internal const Char EndGroup = ')'; // logical grouping internal const Char EndIndex = ']'; - public static readonly Char EndParameter = ')'; // function calll + public static readonly Char EndParameter = ')'; // function call internal const Char Separator = ','; internal const Char Dereference = '.'; internal const Char Wildcard = '*'; From a9e180d554204453a092e7f57abbb30de6721b4f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:44:51 -0500 Subject: [PATCH 026/184] spelling: cancel Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index 28220258e28..3643b0528ce 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -778,7 +778,7 @@ private async Task RenewJobRequestAsync(IRunServer runServer, Guid planId, Guid } catch (OperationCanceledException) when (token.IsCancellationRequested) { - // OperationCanceledException may caused by http timeout or _lockRenewalTokenSource.Cance(); + // OperationCanceledException may caused by http timeout or _lockRenewalTokenSource.Cancel(); // Stop renew only on cancellation token fired. Trace.Info($"job renew has been cancelled, stop renew job {jobId}."); return; @@ -894,7 +894,7 @@ private async Task RenewJobRequestAsync(IRunnerServer runnerServer, int poolId, } catch (OperationCanceledException) when (token.IsCancellationRequested) { - // OperationCanceledException may caused by http timeout or _lockRenewalTokenSource.Cance(); + // OperationCanceledException may caused by http timeout or _lockRenewalTokenSource.Cancel(); // Stop renew only on cancellation token fired. Trace.Info($"job renew has been cancelled, stop renew job request {requestId}."); return; From 5909d2373c7ef6669833343274fb5561e1ee9231 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:45:08 -0500 Subject: [PATCH 027/184] spelling: cancellation Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index 3643b0528ce..c61e58fb0c3 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -144,7 +144,7 @@ public bool Cancel(JobCancelMessage jobCancelMessage) WorkerDispatcher workerDispatcher; if (!_jobInfos.TryGetValue(jobCancelMessage.JobId, out workerDispatcher)) { - Trace.Verbose($"Job request {jobCancelMessage.JobId} is not a current running job, ignore cancllation request."); + Trace.Verbose($"Job request {jobCancelMessage.JobId} is not a current running job, ignore cancellation request."); return false; } else From 8d61899938931cc29b688262ff28f6b623e2b3df Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:20:50 -0500 Subject: [PATCH 028/184] spelling: cannot Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Misc/dotnet-install.sh | 2 +- src/Misc/layoutbin/installdependencies.sh | 8 ++++---- src/Misc/layoutroot/config.sh | 4 ++-- src/Runner.Plugins/Artifact/PublishArtifact.cs | 2 +- src/Runner.Sdk/Util/IOUtil.cs | 2 +- src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs | 4 ++-- src/dev.sh | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Misc/dotnet-install.sh b/src/Misc/dotnet-install.sh index 924bdc2a80a..f6eacea1f05 100755 --- a/src/Misc/dotnet-install.sh +++ b/src/Misc/dotnet-install.sh @@ -618,7 +618,7 @@ validate_remote_local_file_sizes() fi else - say "Either downloaded or local package size can not be measured. One of them may be corrupted." + say "Either downloaded or local package size cannot be measured. One of them may be corrupted." fi } diff --git a/src/Misc/layoutbin/installdependencies.sh b/src/Misc/layoutbin/installdependencies.sh index e979d1e0fe4..61e4b02551a 100755 --- a/src/Misc/layoutbin/installdependencies.sh +++ b/src/Misc/layoutbin/installdependencies.sh @@ -139,7 +139,7 @@ then exit 1 fi else - echo "Can not find 'dnf'" + echo "Cannot find 'dnf'" print_errormessage exit 1 fi @@ -155,7 +155,7 @@ then exit 1 fi else - echo "Can not find 'yum'" + echo "Cannot find 'yum'" print_errormessage exit 1 fi @@ -179,7 +179,7 @@ then exit 1 fi else - echo "Can not find 'zypper'" + echo "Cannot find 'zypper'" print_errormessage exit 1 fi @@ -210,7 +210,7 @@ then exit 1 fi else - echo "Can not find 'yum'" + echo "Cannot find 'yum'" print_rhel6errormessage exit 1 fi diff --git a/src/Misc/layoutroot/config.sh b/src/Misc/layoutroot/config.sh index 14cc6bab0c3..54b07868c3d 100755 --- a/src/Misc/layoutroot/config.sh +++ b/src/Misc/layoutroot/config.sh @@ -14,7 +14,7 @@ then command -v ldd > /dev/null if [ $? -ne 0 ] then - echo "Can not find 'ldd'. Please install 'ldd' and try again." + echo "Cannot find 'ldd'. Please install 'ldd' and try again." exit 1 fi @@ -44,7 +44,7 @@ then if ! [ -x "$(command -v ldconfig)" ]; then LDCONFIG_COMMAND="/sbin/ldconfig" if ! [ -x "$LDCONFIG_COMMAND" ]; then - echo "Can not find 'ldconfig' in PATH and '/sbin/ldconfig' doesn't exists either. Please install 'ldconfig' and try again." + echo "Cannot find 'ldconfig' in PATH and '/sbin/ldconfig' doesn't exists either. Please install 'ldconfig' and try again." exit 1 fi else diff --git a/src/Runner.Plugins/Artifact/PublishArtifact.cs b/src/Runner.Plugins/Artifact/PublishArtifact.cs index 56408ea6544..553f3958f90 100644 --- a/src/Runner.Plugins/Artifact/PublishArtifact.cs +++ b/src/Runner.Plugins/Artifact/PublishArtifact.cs @@ -35,7 +35,7 @@ public async Task RunAsync( if (String.IsNullOrWhiteSpace(artifactName)) { - throw new ArgumentException($"Artifact name can not be empty string"); + throw new ArgumentException($"Artifact name cannot be empty string"); } if (Path.GetInvalidFileNameChars().Any(x => artifactName.Contains(x))) diff --git a/src/Runner.Sdk/Util/IOUtil.cs b/src/Runner.Sdk/Util/IOUtil.cs index e0b5b3394f7..f381d6a5268 100644 --- a/src/Runner.Sdk/Util/IOUtil.cs +++ b/src/Runner.Sdk/Util/IOUtil.cs @@ -326,7 +326,7 @@ public static string ResolvePath(String rootPath, String relativePath) } else if (Path.IsPathRooted(relativePath)) { - throw new InvalidOperationException($"{relativePath} can not be a rooted path."); + throw new InvalidOperationException($"{relativePath} cannot be a rooted path."); } else { diff --git a/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs b/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs index d3529b9102b..617d7b850f6 100644 --- a/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs +++ b/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs @@ -38,13 +38,13 @@ public interface IVssClientStorageReader T ReadEntry(string path); /// - /// Reads one entry from the storage. If the entry does not exist or can not be converted to type T, the default value provided will be returned. + /// Reads one entry from the storage. If the entry does not exist or cannot be converted to type T, the default value provided will be returned. /// When T is not a simple type, and there is extra logic to determine the default value, the pattern: ReadEntry<T>(path) && GetDefault(); is /// preferred, so that method to retrieve the default is not evaluated unless the entry does not exist. /// /// The type to return. /// This is the path key for the data to retrieve. - /// The value to return if the key does not exist or the value can not be converted to type T + /// The value to return if the key does not exist or the value cannot be converted to type T /// T ReadEntry(string path, T defaultValue); diff --git a/src/dev.sh b/src/dev.sh index 798cec0f26a..d1131b47655 100755 --- a/src/dev.sh +++ b/src/dev.sh @@ -243,7 +243,7 @@ if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then msbuild_location="$vs_location""\MSBuild\Current\Bin\msbuild.exe" if [[ ! -e "${msbuild_location}" ]]; then - failed "Can not find msbuild location, failing build" + failed "Cannot find msbuild location, failing build" fi fi From cb035fb786c2438721ce257c465b17936a650c92 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:21:09 -0500 Subject: [PATCH 029/184] spelling: case-insensitive Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/0276-problem-matchers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/0276-problem-matchers.md b/docs/adrs/0276-problem-matchers.md index 5d7a034d179..e7320ee94fe 100644 --- a/docs/adrs/0276-problem-matchers.md +++ b/docs/adrs/0276-problem-matchers.md @@ -201,7 +201,7 @@ Coalesce empty with \"error\". For any other values, omit logging an issue and d #### Default severity level -Problem matchers are unable to interpret severity strings other than `warning` and `error`. The `severity` match group expects `warning` or `error` (case insensitive). +Problem matchers are unable to interpret severity strings other than `warning` and `error`. The `severity` match group expects `warning` or `error` (case-insensitive). However some tools indicate error/warning in different ways. For example `flake8` uses codes like `E100`, `W200`, and `F300` (error, warning, fatal, respectively). From e6004f49f3ea9d4c25e4920c88bd544de67d0a25 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:21:17 -0500 Subject: [PATCH 030/184] spelling: case-sensitive Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs | 2 +- src/Sdk/Common/Common/Utility/UriUtility.cs | 2 +- src/Sdk/Common/Common/Utility/VssStringComparer.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs index 50a28169700..ec1525bc3f4 100644 --- a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs +++ b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs @@ -138,7 +138,7 @@ public static IVssClientStorage GetVssLocalFileStorage(string fullPath, char pat } #if DEBUG - Debug.Assert(fullPath.Equals(storage.m_filePath), string.Format("The same storage file is being referenced with different casing. This will cause issues when running in cross patform environments where the file system may be case sensitive. {0} != {1}", storage.m_filePath, normalizedFullPath)); + Debug.Assert(fullPath.Equals(storage.m_filePath), string.Format("The same storage file is being referenced with different casing. This will cause issues when running in cross patform environments where the file system may be case-sensitive. {0} != {1}", storage.m_filePath, normalizedFullPath)); #endif return storage; } diff --git a/src/Sdk/Common/Common/Utility/UriUtility.cs b/src/Sdk/Common/Common/Utility/UriUtility.cs index 59258f2436d..a73fcf340c2 100644 --- a/src/Sdk/Common/Common/Utility/UriUtility.cs +++ b/src/Sdk/Common/Common/Utility/UriUtility.cs @@ -89,7 +89,7 @@ public int GetHashCode(string obj) } /// - /// string comparer for uri, is not case sensitive and does not care about trailing '/' + /// string comparer for uri, is not case-sensitive and does not care about trailing '/' /// public static IEqualityComparer AbsoluteUriStringComparer = new _AbsoluteUriStringComparer(); diff --git a/src/Sdk/Common/Common/Utility/VssStringComparer.cs b/src/Sdk/Common/Common/Utility/VssStringComparer.cs index 7d7935a8c2b..802718510a4 100644 --- a/src/Sdk/Common/Common/Utility/VssStringComparer.cs +++ b/src/Sdk/Common/Common/Utility/VssStringComparer.cs @@ -218,7 +218,7 @@ private StringComparer MatchingStringComparer // Converters comparer public static VssStringComparer VSSServerPath { get { return s_ordinalIgnoreCase; } } - // Item rename in VSS is case sensitive. + // Item rename in VSS is case-sensitive. public static VssStringComparer VSSItemName { get { return s_ordinal; } } // Web Access Comparers public static VssStringComparer HtmlElementName { get { return s_ordinalIgnoreCase; } } From 3eb6edd72d026a2e4b47133613962f79276cd7d3 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:45:26 -0500 Subject: [PATCH 031/184] spelling: coalesce Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/HostContext.cs | 2 +- src/Sdk/Common/Common/TaskCancellationExtensions.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs index ffb08684a53..ca012a99999 100644 --- a/src/Runner.Common/HostContext.cs +++ b/src/Runner.Common/HostContext.cs @@ -407,7 +407,7 @@ public string GetDirectory(WellKnownDirectory directory) break; case WellKnownDirectory.Tools: - // TODO: Coallesce to just check RUNNER_TOOL_CACHE when images stabilize + // TODO: Coalesce to just check RUNNER_TOOL_CACHE when images stabilize path = Environment.GetEnvironmentVariable("RUNNER_TOOL_CACHE") ?? Environment.GetEnvironmentVariable("RUNNER_TOOLSDIRECTORY") ?? Environment.GetEnvironmentVariable("AGENT_TOOLSDIRECTORY") ?? Environment.GetEnvironmentVariable(Constants.Variables.Agent.ToolsDirectory); if (string.IsNullOrEmpty(path)) diff --git a/src/Sdk/Common/Common/TaskCancellationExtensions.cs b/src/Sdk/Common/Common/TaskCancellationExtensions.cs index 9b9c0767fbd..72593d91060 100644 --- a/src/Sdk/Common/Common/TaskCancellationExtensions.cs +++ b/src/Sdk/Common/Common/TaskCancellationExtensions.cs @@ -67,7 +67,7 @@ public static async Task EnforceCancellation( } // However, we'd ideally like to throw the cancellation exception from the original task if we can. - // Thus, we'll give that task a few seconds to coallesce (e.g. write to a log) before we give up on it. + // Thus, we'll give that task a few seconds to coalesce (e.g. write to a log) before we give up on it. int seconds = 3; var lastChanceTcs = new TaskCompletionSource(RUN_CONTINUATIONS_ASYNCHRONOUSLY); using (var lastChanceTimer = new CancellationTokenSource(TimeSpan.FromSeconds(seconds))) From 1e03d0a44ab85e708fc1c52dab36f8a44f016f5c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:45:46 -0500 Subject: [PATCH 032/184] spelling: coming Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/Util/TaskResultUtil.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Common/Util/TaskResultUtil.cs b/src/Runner.Common/Util/TaskResultUtil.cs index e82bb2896b9..fc3e345376b 100644 --- a/src/Runner.Common/Util/TaskResultUtil.cs +++ b/src/Runner.Common/Util/TaskResultUtil.cs @@ -50,7 +50,7 @@ public static TaskResult MergeTaskResults(TaskResult? currentResult, TaskResult return currentResult.Value; } - // comming result is bad than current result + // coming result is bad than current result if (comingResult >= currentResult) { return comingResult; From 4638278fb531ca65f6d1fbcdb4843d3a2405c318 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:46:24 -0500 Subject: [PATCH 033/184] spelling: comparer Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/VssStringComparer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/VssStringComparer.cs b/src/Sdk/Common/Common/Utility/VssStringComparer.cs index 802718510a4..57e2b9799f3 100644 --- a/src/Sdk/Common/Common/Utility/VssStringComparer.cs +++ b/src/Sdk/Common/Common/Utility/VssStringComparer.cs @@ -229,7 +229,7 @@ private StringComparer MatchingStringComparer public static VssStringComparer StringFieldConditionOrdinal { get { return s_ordinal; } } // Service Endpoint Comparer - public static VssStringComparer ServiceEndpointTypeCompararer { get { return s_ordinalIgnoreCase; } } + public static VssStringComparer ServiceEndpointTypeComparer { get { return s_ordinalIgnoreCase; } } private class DataSourceIgnoreProtocolComparer : VssStringComparer { From e60c1a06eb44f99d4c973a698044035f0d18ef97 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:47:03 -0500 Subject: [PATCH 034/184] spelling: comparison Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs b/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs index 354a76d8e37..5ac1a61b43f 100644 --- a/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs +++ b/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs @@ -177,7 +177,7 @@ public Boolean TryGetCollectionInterface(out Object collection) /// /// Useful for working with values that are not the direct evaluation result of a parameter. - /// This allows ExpressionNode authors to leverage the coercion and comparision functions + /// This allows ExpressionNode authors to leverage the coercion and comparison functions /// for any values. /// /// Also note, the value will be canonicalized (for example numeric types converted to double) and any From 1f95215b78d71b0658cccda9b489db8afd58d804 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:47:17 -0500 Subject: [PATCH 035/184] spelling: compatible Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/DictionaryExtensions.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs b/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs index 1dd010c6a22..6518c5a3c44 100644 --- a/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs +++ b/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs @@ -96,7 +96,7 @@ public static V AddOrUpdate(this IDictionary dictionary, /// /// Returns the value in an IReadonlyDictionary with values of type /// casted as values of requested type, or the defualt if the key is not found or - /// if the value was found but not compatabile with the requested type. + /// if the value was found but not compatible with the requested type. /// /// The key type /// The requested type of the stored value @@ -113,7 +113,7 @@ public static V AddOrUpdate(this IDictionary dictionary, /// /// Returns the value in an IDictionary with values of type /// casted as values of requested type, or the defualt if the key is not found or - /// if the value was found but not compatabile with the requested type. + /// if the value was found but not compatible with the requested type. /// /// The key type /// The requested type of the stored value @@ -130,7 +130,7 @@ public static V AddOrUpdate(this IDictionary dictionary, /// /// Returns the value in a Dictionary with values of type /// casted as values of requested type, or the defualt if the key is not found or - /// if the value was found but not compatabile with the requested type. + /// if the value was found but not compatible with the requested type. /// /// /// This overload is necessary to prevent Ambiguous Match issues, as Dictionary implements both From a48ed5c422da8eb06e7d903bb8753167ad6f7b72 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:54:24 -0500 Subject: [PATCH 036/184] spelling: configuration Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Worker/ExecutionContextL0.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Test/L0/Worker/ExecutionContextL0.cs b/src/Test/L0/Worker/ExecutionContextL0.cs index 2f28f797fb5..9a2f7a990a4 100644 --- a/src/Test/L0/Worker/ExecutionContextL0.cs +++ b/src/Test/L0/Worker/ExecutionContextL0.cs @@ -905,7 +905,7 @@ private TestHostContext CreateTestContext([CallerMemberName] String testName = " { var hc = new TestHostContext(this, testName); - // Arrange: Setup the configation store. + // Arrange: Setup the configuration store. var configurationStore = new Mock(); configurationStore.Setup(x => x.GetSettings()).Returns(new RunnerSettings()); hc.SetSingleton(configurationStore.Object); From fd604001c395f86525b909d325d7a6f8905c2f49 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:55:57 -0500 Subject: [PATCH 037/184] spelling: constructing Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/SecretUtility.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/SecretUtility.cs b/src/Sdk/Common/Common/Utility/SecretUtility.cs index 20713ad60e3..ff153235be2 100644 --- a/src/Sdk/Common/Common/Utility/SecretUtility.cs +++ b/src/Sdk/Common/Common/Utility/SecretUtility.cs @@ -209,7 +209,7 @@ private static string ScrubSecret(string message, string token, string mask, boo catch (Exception /*exception*/) { // With an exception here the message may still contain an unmasked password. - // We also do not want to interupt the current thread with this exception, because it may be constucting a message + // We also do not want to interupt the current thread with this exception, because it may be constructing a message // for a different exception. Trace this exception and continue on using a generic exception message. //TeamFoundationTracingService.TraceExceptionRaw(99231, s_area, s_layer, exception); } From 6a4b193c5eb479e050d546e7bda6642391954cfd Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:56:20 -0500 Subject: [PATCH 038/184] spelling: constructor Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index 93e37523ebe..fb41d987282 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -320,7 +320,7 @@ private Exception UnWrap(Exception innerException) // to make code changes to exceptions that we don't own. Debug.Assert(!(exception is VssException) || exception.Message == Message, "The unwrapped exception message does not match the original exception message.", - "Type: {0}{1}Expected: {2}{1}Actual: {3}{1}{1}This can happen if the exception has a contructor that manipulates the input string. You can work around this by creating a constructor that takes in a WrappedException which sets the message verbatim and optionally the inner exception.", + "Type: {0}{1}Expected: {2}{1}Actual: {3}{1}{1}This can happen if the exception has a constructor that manipulates the input string. You can work around this by creating a constructor that takes in a WrappedException which sets the message verbatim and optionally the inner exception.", exception.GetType(), Environment.NewLine, Message, From 8ecc2c78339ba9b35a2f409ac722132b034965d9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:56:05 -0500 Subject: [PATCH 039/184] spelling: containing Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WorkflowParser/Conversion/MatrixBuilder.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/WorkflowParser/Conversion/MatrixBuilder.cs b/src/Sdk/WorkflowParser/Conversion/MatrixBuilder.cs index 285757caeda..7d5ea5a4388 100644 --- a/src/Sdk/WorkflowParser/Conversion/MatrixBuilder.cs +++ b/src/Sdk/WorkflowParser/Conversion/MatrixBuilder.cs @@ -42,7 +42,7 @@ internal void AddVector( } /// - /// Adds the sequence containg all exclude mappings. + /// Adds the sequence containing all exclude mappings. /// internal void Exclude(SequenceToken exclude) { @@ -50,7 +50,7 @@ internal void Exclude(SequenceToken exclude) } /// - /// Adds the sequence containg all include mappings. + /// Adds the sequence containing all include mappings. /// internal void Include(SequenceToken include) { From 671325fed35c9dec3fc9b7c28092f09ac02a29e7 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:47:31 -0500 Subject: [PATCH 040/184] spelling: context Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Worker/OutputManagerL0.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Test/L0/Worker/OutputManagerL0.cs b/src/Test/L0/Worker/OutputManagerL0.cs index 7005547b56e..cb4b2ca29dd 100644 --- a/src/Test/L0/Worker/OutputManagerL0.cs +++ b/src/Test/L0/Worker/OutputManagerL0.cs @@ -1098,18 +1098,18 @@ private void Process(string line) _outputManager.OnDataReceived(null, new ProcessDataReceivedEventArgs(line)); } - private async Task CreateRepository(TestHostContext hostConetxt, string path, string url) + private async Task CreateRepository(TestHostContext hostContext, string path, string url) { Directory.CreateDirectory(path); var gitPath = WhichUtil.Which("git", true); var environment = new Dictionary(); - using (var processInvoker = new ProcessInvoker(hostConetxt.GetTrace())) + using (var processInvoker = new ProcessInvoker(hostContext.GetTrace())) { await processInvoker.ExecuteAsync(path, gitPath, "init", environment, CancellationToken.None); } - using (var processInvoker = new ProcessInvoker(hostConetxt.GetTrace())) + using (var processInvoker = new ProcessInvoker(hostContext.GetTrace())) { await processInvoker.ExecuteAsync(path, gitPath, $"remote add origin {url}", environment, CancellationToken.None); } From 6c18d7f343133e1a5a9259ea02314f4dd74f57a4 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:56:29 -0500 Subject: [PATCH 041/184] spelling: convention Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index c61e58fb0c3..89b94c913ab 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -1025,7 +1025,7 @@ private async Task TryUploadUnfinishedLogs(Pipelines.AgentJobRequestMessage mess var logNameParts = logName.Split('_', StringSplitOptions.RemoveEmptyEntries); if (logNameParts.Length != 3) { - Trace.Warning($"log file '{log}' doesn't follow naming convension 'GUID_GUID_INT'."); + Trace.Warning($"log file '{log}' doesn't follow naming convention 'GUID_GUID_INT'."); continue; } var logPageSeperator = logName.IndexOf('_'); @@ -1040,13 +1040,13 @@ private async Task TryUploadUnfinishedLogs(Pipelines.AgentJobRequestMessage mess if (!Guid.TryParse(logNameParts[1], out logRecordId)) { - Trace.Warning($"log file '{log}' doesn't follow naming convension 'GUID_GUID_INT'."); + Trace.Warning($"log file '{log}' doesn't follow naming convention 'GUID_GUID_INT'."); continue; } if (!int.TryParse(logNameParts[2], out pageNumber)) { - Trace.Warning($"log file '{log}' doesn't follow naming convension 'GUID_GUID_INT'."); + Trace.Warning($"log file '{log}' doesn't follow naming convention 'GUID_GUID_INT'."); continue; } From 8448ae6b47acfedbbe6603ef613d8e8b1df8ad7b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:56:58 -0500 Subject: [PATCH 042/184] spelling: converter Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs b/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs index eb7ed9ad9f7..f90f66d3637 100644 --- a/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs +++ b/src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs @@ -656,7 +656,7 @@ internal string Scopes private JsonWebToken _actorToken; } - //this coverter converts back and forth from the JWT encoded string + //this converter converts back and forth from the JWT encoded string //and this full type internal class JsonWebTokenConverter : VssSecureJsonConverter { From 77c82108b3aa773dfb6ceb691dd193cc4a505396 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:57:13 -0500 Subject: [PATCH 043/184] spelling: credential Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs index 84122a49434..cce2f66e5b8 100644 --- a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs +++ b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs @@ -36,20 +36,20 @@ public VssOAuthTokenProvider( /// The resource server which issued the authentication challenge /// The authorization server token endpoint /// The authorization grant to use for token requests - /// The client credentials to use for token requests + /// The client credentials to use for token requests /// Additional parameters to include with token requests protected VssOAuthTokenProvider( IssuedTokenCredential credential, Uri serverUrl, Uri authorizationUrl, VssOAuthGrant grant, - VssOAuthClientCredential clientCrential, + VssOAuthClientCredential clientCredential, VssOAuthTokenParameters tokenParameters) : base(credential, serverUrl, authorizationUrl) { m_grant = grant; m_tokenParameters = tokenParameters; - m_clientCredential = clientCrential; + m_clientCredential = clientCredential; } /// From 98b053db7169f36442ddb4c07665236f6c329bd9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:15:04 -0500 Subject: [PATCH 044/184] spelling: deconfigure Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Configuration/ConfigurationManager.cs | 2 +- src/Runner.Listener/Runner.cs | 2 +- src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs index 2c18d8d60f6..8587e60ecc3 100644 --- a/src/Runner.Listener/Configuration/ConfigurationManager.cs +++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs @@ -540,7 +540,7 @@ public async Task UnconfigureAsync(CommandSettings command) _term.WriteLine(); _term.WriteSuccessMessage("Runner service removed"); #else - // unconfig systemd or osx service first + // deconfigure systemd or osx service first throw new Exception("Uninstall service first"); #endif } diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs index cd3b84d8de0..476a5613ba5 100644 --- a/src/Runner.Listener/Runner.cs +++ b/src/Runner.Listener/Runner.cs @@ -1101,7 +1101,7 @@ private void PrintUsage(CommandSettings command) --replace Replace any existing runner with the same name (default false) --pat GitHub personal access token with repo scope. Used for checking network connectivity when executing `.{separator}run.{ext} --check` --disableupdate Disable self-hosted runner automatic update to the latest released version` - --ephemeral Configure the runner to only take one job and then let the service un-configure the runner after the job finishes (default false)"); + --ephemeral Configure the runner to only take one job and then let the service deconfigure the runner after the job finishes (default false)"); #if OS_WINDOWS _term.WriteLine($@" --runasservice Run the runner as a service"); diff --git a/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs b/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs index 3c698fdda12..b025c622227 100644 --- a/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs +++ b/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs @@ -375,7 +375,7 @@ public async Task ConfigureRunnerServiceFailsOnUnconfiguredRunners() trace.Info("Constructed"); _store.Setup(x => x.IsConfigured()).Returns(false); - trace.Info("Ensuring service generation mode fails when on un-configured runners"); + trace.Info("Ensuring service generation mode fails when on deconfigured runners"); var ex = await Assert.ThrowsAsync(() => configManager.ConfigureAsync(command)); Assert.Contains("requires that the runner is already configured", ex.Message); @@ -407,7 +407,7 @@ public async Task ConfigureRunnerServiceCreatesService() _store.Setup(x => x.IsConfigured()).Returns(true); - trace.Info("Ensuring service generation mode fails when on un-configured runners"); + trace.Info("Ensuring service generation mode fails when on deconfigured runners"); await configManager.ConfigureAsync(command); _serviceControlManager.Verify(x => x.GenerateScripts(It.IsAny()), Times.Once); From dcfa4728a58a16077f3556d0f30ada833494118f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:41:10 -0500 Subject: [PATCH 045/184] spelling: deconfigures Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Runner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs index 476a5613ba5..9bf81f2ff1e 100644 --- a/src/Runner.Listener/Runner.cs +++ b/src/Runner.Listener/Runner.cs @@ -1079,7 +1079,7 @@ private void PrintUsage(CommandSettings command) _term.WriteLine($@" Commands: .{separator}config.{ext} Configures the runner - .{separator}config.{ext} remove Unconfigures the runner + .{separator}config.{ext} remove Deconfigures the runner .{separator}run.{ext} Runs the runner interactively. Does not require any options. Options: From c9d9190027c0ee41c4b8609b4b18b6288562b9fe Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:41:24 -0500 Subject: [PATCH 046/184] spelling: deconfiguring Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../Configuration/WindowsServiceControlManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Configuration/WindowsServiceControlManager.cs b/src/Runner.Listener/Configuration/WindowsServiceControlManager.cs index 085aaffc90d..727ddb2e549 100644 --- a/src/Runner.Listener/Configuration/WindowsServiceControlManager.cs +++ b/src/Runner.Listener/Configuration/WindowsServiceControlManager.cs @@ -126,7 +126,7 @@ public void UnconfigureService() if (!_windowsServiceHelper.IsRunningInElevatedMode()) { Trace.Error("Needs Administrator privileges for unconfigure windows service runner."); - throw new SecurityException("Needs Administrator privileges for unconfiguring runner that running as windows service."); + throw new SecurityException("Needs Administrator privileges for deconfiguring runner that running as windows service."); } string serviceConfigPath = HostContext.GetConfigFile(WellKnownConfigFile.Service); From 0b623ce159ddae37b045292840cc141031a75311 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:57:39 -0500 Subject: [PATCH 047/184] spelling: default Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/DictionaryExtensions.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs b/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs index 6518c5a3c44..aa60bb192c5 100644 --- a/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs +++ b/src/Sdk/Common/Common/Utility/DictionaryExtensions.cs @@ -95,7 +95,7 @@ public static V AddOrUpdate(this IDictionary dictionary, /// /// Returns the value in an IReadonlyDictionary with values of type - /// casted as values of requested type, or the defualt if the key is not found or + /// casted as values of requested type, or the default if the key is not found or /// if the value was found but not compatible with the requested type. /// /// The key type @@ -112,7 +112,7 @@ public static V AddOrUpdate(this IDictionary dictionary, /// /// Returns the value in an IDictionary with values of type - /// casted as values of requested type, or the defualt if the key is not found or + /// casted as values of requested type, or the default if the key is not found or /// if the value was found but not compatible with the requested type. /// /// The key type @@ -129,7 +129,7 @@ public static V AddOrUpdate(this IDictionary dictionary, /// /// Returns the value in a Dictionary with values of type - /// casted as values of requested type, or the defualt if the key is not found or + /// casted as values of requested type, or the default if the key is not found or /// if the value was found but not compatible with the requested type. /// /// From 7acdae0f9ed9e1335ac54c4af57ff59284f55fb9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:57:33 -0500 Subject: [PATCH 048/184] spelling: definition Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Location/Interfaces.cs | 8 ++++---- src/Sdk/WebApi/WebApi/ResourceLocationIds.cs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/Location/Interfaces.cs b/src/Sdk/WebApi/WebApi/Location/Interfaces.cs index 7abbe24c131..b9e5845a050 100644 --- a/src/Sdk/WebApi/WebApi/Location/Interfaces.cs +++ b/src/Sdk/WebApi/WebApi/Location/Interfaces.cs @@ -227,7 +227,7 @@ IEnumerable FindServiceDefinitions( String serviceType); /// - /// Returns the location for the ServiceDefintion associated with the ServiceType + /// Returns the location for the ServiceDefinition associated with the ServiceType /// and ServiceIdentifier that should be used based on the current connection. /// If a ServiceDefinition with the ServiceType and ServiceIdentifier does not /// exist then null will be returned. If a ServiceDefinition with the ServiceType @@ -256,7 +256,7 @@ String LocationForCurrentConnection( Guid serviceIdentifier); /// - /// Returns the location for the ServiceDefintion that should be used based on + /// Returns the location for the ServiceDefinition that should be used based on /// the current connection. This method will never return null or empty. If it /// succeeds it will return a targetable location for the provided /// ServiceDefinition. @@ -469,7 +469,7 @@ Task> FindServiceDefinitionsAsync( CancellationToken cancellationToken = default(CancellationToken)); /// - /// Returns the location for the ServiceDefintion associated with the ServiceType + /// Returns the location for the ServiceDefinition associated with the ServiceType /// and ServiceIdentifier that should be used based on the current connection. /// If a ServiceDefinition with the ServiceType and ServiceIdentifier does not /// exist then null will be returned. If a ServiceDefinition with the ServiceType @@ -499,7 +499,7 @@ Task LocationForCurrentConnectionAsync( CancellationToken cancellationToken = default(CancellationToken)); /// - /// Returns the location for the ServiceDefintion that should be used based on + /// Returns the location for the ServiceDefinition that should be used based on /// the current connection. This method will never return null or empty. If it /// succeeds it will return a targetable location for the provided /// ServiceDefinition. diff --git a/src/Sdk/WebApi/WebApi/ResourceLocationIds.cs b/src/Sdk/WebApi/WebApi/ResourceLocationIds.cs index 74146067189..675a5fdc5bc 100644 --- a/src/Sdk/WebApi/WebApi/ResourceLocationIds.cs +++ b/src/Sdk/WebApi/WebApi/ResourceLocationIds.cs @@ -36,7 +36,7 @@ public static class LocationResourceIds public static readonly Guid ResourceAreas = new Guid("E81700F7-3BE2-46DE-8624-2EB35882FCAA"); // Used for updating the SPS locations in account migrations. - public const string SpsServiceDefintionResource = "SpsServiceDefinition"; + public const string SpsServiceDefinitionResource = "SpsServiceDefinition"; public static readonly Guid SpsServiceDefinition = new Guid("{DF5F298A-4E06-4815-A13E-6CE90A37EFA4}"); } From bec33c86eeef12d664b85ccfbb0117888d8d62e9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:38:40 -0500 Subject: [PATCH 049/184] spelling: dependencies Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index fb41d987282..c5198942815 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -477,7 +477,7 @@ private static void UpdateExceptionAttributeMappingCache() IEnumerable types; try { - // calling GetTypes has side effect of loading direct dependancies of the assembly. + // calling GetTypes has side effect of loading direct dependencies of the assembly. types = assembly.GetTypes(); } catch (ReflectionTypeLoadException ex) From 874f5aebe1ecc496dd35a017b315603a8afd5c15 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:57:50 -0500 Subject: [PATCH 050/184] spelling: dependent Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index c5198942815..c228d4dde23 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -482,7 +482,7 @@ private static void UpdateExceptionAttributeMappingCache() } catch (ReflectionTypeLoadException ex) { - // if dependant assembly fails to load, we should still be able to get all the exceptions, since it would be unlikely, + // if dependent assembly fails to load, we should still be able to get all the exceptions, since it would be unlikely, // that an exception is referencing a type from the assembly that failed to load. types = ex.Types.Where(t => t != null); } From 5aaee8d71e953f71081c112923f483b7989a7330 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:58:02 -0500 Subject: [PATCH 051/184] spelling: dependents Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../Configuration/NativeWindowsServiceHelper.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs index 173e0bbe6cb..0080d079415 100644 --- a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs +++ b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs @@ -1178,7 +1178,7 @@ public enum ServiceRights QueryConfig = 0x1, ChangeConfig = 0x2, QueryStatus = 0x4, - EnumerateDependants = 0x8, + EnumerateDependents = 0x8, Start = 0x10, Stop = 0x20, PauseContinue = 0x40, @@ -1187,7 +1187,7 @@ public enum ServiceRights Delete = 0x00010000, StandardRightsRequired = 0xF0000, AllAccess = - (StandardRightsRequired | QueryConfig | ChangeConfig | QueryStatus | EnumerateDependants | Start | Stop + (StandardRightsRequired | QueryConfig | ChangeConfig | QueryStatus | EnumerateDependents | Start | Stop | PauseContinue | Interrogate | UserDefinedControl) } From e3172affc5c548fa154f0b2c246aaece1d759d67 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:58:42 -0500 Subject: [PATCH 052/184] spelling: deserialization Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Contracts/PropertiesCollection.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Contracts/PropertiesCollection.cs b/src/Sdk/WebApi/WebApi/Contracts/PropertiesCollection.cs index 03e868ac5b8..68391b6ad93 100644 --- a/src/Sdk/WebApi/WebApi/Contracts/PropertiesCollection.cs +++ b/src/Sdk/WebApi/WebApi/Contracts/PropertiesCollection.cs @@ -15,7 +15,7 @@ namespace GitHub.Services.WebApi //the server side TeamFoundationPropertiesService stores five types in their native format //: Byte[], Int32, Double, DateType and String. //JSON.NET deals correctly with Double, DateType and String, but can't discern the proper - //type of Byte[] and Int32 on deserization if deserializing into Object. Byte[] gets serialized as a + //type of Byte[] and Int32 on deserialization if deserializing into Object. Byte[] gets serialized as a //Base64 encoded string, and stays that way. All integers get serialized as Int64, and stay that way //on deserialization. Adding ItemTypeNameHandling=TypeNameHandling.All fixed Byte[] but not Int32, it turns //out that they only primitive type that gets the name is byte[]... From 3ddaa04d16ad1446c3fc32b530364b3d7809d67f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:59:57 -0500 Subject: [PATCH 053/184] spelling: determine the result of the runner update based on the log file Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Misc/layoutbin/update.cmd.template | 2 +- src/Misc/layoutbin/update.sh.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Misc/layoutbin/update.cmd.template b/src/Misc/layoutbin/update.cmd.template index 495c647a4e7..daeef250d84 100644 --- a/src/Misc/layoutbin/update.cmd.template +++ b/src/Misc/layoutbin/update.cmd.template @@ -124,7 +124,7 @@ type nul > update.finished echo [%date% %time%] update.finished file creation succeed >> "%logfile%" 2>&1 rem rename the update log file with %logfile%.succeed/.failed/succeedneedrestart -rem runner service host can base on the log file name determin the result of the runner update +rem runner service host can determine the result of the runner update based on the log file echo [%date% %time%] Rename "%logfile%" to be "%logfile%.succeed" >> "%logfile%" 2>&1 move "%logfile%" "%logfile%.succeed" >nul diff --git a/src/Misc/layoutbin/update.sh.template b/src/Misc/layoutbin/update.sh.template index 82ada18b917..bc386eb9d39 100755 --- a/src/Misc/layoutbin/update.sh.template +++ b/src/Misc/layoutbin/update.sh.template @@ -208,7 +208,7 @@ touch update.finished date "+[%F %T-%4N] update.finished file creation succeed" >> "$logfile" # rename the update log file with %logfile%.succeed/.failed/succeedneedrestart -# runner service host can base on the log file name determin the result of the runner update +# runner service host can determine the result of the runner update based on the log file date "+[%F %T-%4N] Rename $logfile to be $logfile.succeed" >> "$logfile" 2>&1 mv -fv "$logfile" "$logfile.succeed" >> "$logfile" 2>&1 From fff8d391201958517d7fde3f6e1b261fb30b4d01 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:58:56 -0500 Subject: [PATCH 054/184] spelling: determined Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/EnumerableExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/EnumerableExtensions.cs b/src/Sdk/Common/Common/Utility/EnumerableExtensions.cs index 470317c6cab..e65976f7b74 100644 --- a/src/Sdk/Common/Common/Utility/EnumerableExtensions.cs +++ b/src/Sdk/Common/Common/Utility/EnumerableExtensions.cs @@ -88,7 +88,7 @@ public static PartitionResults Partition(this IEnumerable source, Predi } /// - /// Partitions items from a source IEnumerable into N+1 lists, where the first N lists are determened + /// Partitions items from a source IEnumerable into N+1 lists, where the first N lists are determined /// by the sequential check of the provided predicates, with the N+1 list containing those items /// which matched none of the provided predicates. /// From 2552f49ce7663cd9e1e078f37d8f6d50126daf97 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:00:04 -0500 Subject: [PATCH 055/184] spelling: determines Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs b/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs index 4483b141f53..d6cbafeba2a 100644 --- a/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs +++ b/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs @@ -10,7 +10,7 @@ namespace GitHub.Services.Common public static class TypeExtensionMethods { /// - /// Determins if a value is assignable to the requested type. It goes + /// Determines if a value is assignable to the requested type. It goes /// the extra step beyond IsAssignableFrom in that it also checks for /// IConvertible and attempts to convert the value. /// From cffab9a727aa646c332f2882fab19e12cc258b88 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:00:16 -0500 Subject: [PATCH 056/184] spelling: diagnostic Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Worker/JobExtensionL0.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Test/L0/Worker/JobExtensionL0.cs b/src/Test/L0/Worker/JobExtensionL0.cs index 60814998ef3..83859b5e0bf 100644 --- a/src/Test/L0/Worker/JobExtensionL0.cs +++ b/src/Test/L0/Worker/JobExtensionL0.cs @@ -258,7 +258,7 @@ public async Task JobExtensionBuildFailsWithoutContainerIfRequired() [Fact] [Trait("Level", "L0")] [Trait("Category", "Worker")] - public async Task UploadDiganosticLogIfEnvironmentVariableSet() + public async Task UploadDiagnosticLogIfEnvironmentVariableSet() { using (TestHostContext hc = CreateTestContext()) { From 02a8160537d00c0e93a5b533e64d6aa675005e0b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:00:22 -0500 Subject: [PATCH 057/184] spelling: directory Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/ContainerOperationProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/ContainerOperationProvider.cs b/src/Runner.Worker/ContainerOperationProvider.cs index c5cccb77ef0..90bf8a10d9c 100644 --- a/src/Runner.Worker/ContainerOperationProvider.cs +++ b/src/Runner.Worker/ContainerOperationProvider.cs @@ -538,7 +538,7 @@ private async Task AssertCompatibleOS(IExecutionContext executionContext) { // Check whether we are inside a container. // Our container feature requires to map working directory from host to the container. - // If we are already inside a container, we will not able to find out the real working direcotry path on the host. + // If we are already inside a container, we will not able to find out the real working directory path on the host. #if OS_WINDOWS #pragma warning disable CA1416 // service CExecSvc is Container Execution Agent. From 2910e16ae031d915369b4114cdceabb130ce2a8b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:00:31 -0500 Subject: [PATCH 058/184] spelling: distinguish Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTPipelines/Pipelines/ExpressionValue.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/DTPipelines/Pipelines/ExpressionValue.cs b/src/Sdk/DTPipelines/Pipelines/ExpressionValue.cs index 47f9e6f7e2b..352da455050 100644 --- a/src/Sdk/DTPipelines/Pipelines/ExpressionValue.cs +++ b/src/Sdk/DTPipelines/Pipelines/ExpressionValue.cs @@ -62,7 +62,7 @@ public static ExpressionValue FromLiteral(T literal) } /// - /// When T is String, we cannot distiguish between literals and expressions solely by type. + /// When T is String, we cannot distinguish between literals and expressions solely by type. /// Use this function when parsing and you want to err on the side of expressions. /// public static ExpressionValue FromToken(String token) From 4b7ff27ecaf5a729829db83b7eb3ba8655a61dd9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:00:39 -0500 Subject: [PATCH 059/184] spelling: distributions Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Handlers/StepHost.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/Handlers/StepHost.cs b/src/Runner.Worker/Handlers/StepHost.cs index fa79de884d1..31aa4647d5a 100644 --- a/src/Runner.Worker/Handlers/StepHost.cs +++ b/src/Runner.Worker/Handlers/StepHost.cs @@ -161,7 +161,7 @@ public async Task DetermineNodeRuntimeVersion(IExecutionContext executio // Best effort to determine a compatible node runtime // There may be more variation in which libraries are linked than just musl/glibc, - // so determine based on known distribtutions instead + // so determine based on known distributions instead var osReleaseIdCmd = "sh -c \"cat /etc/*release | grep ^ID\""; var dockerManager = HostContext.GetService(); From 53e21fb8263b7e08ad76ec3596cd07eb81b0ddc4 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:52:35 -0500 Subject: [PATCH 060/184] spelling: does not exist Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs index 0080d079415..de6804d080b 100644 --- a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs +++ b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs @@ -192,7 +192,7 @@ public void DeleteLocalGroup(string groupName) { case ReturnCode.NERR_GroupNotFound: case ReturnCode.ERROR_NO_SUCH_ALIAS: - Trace.Info(StringUtil.Format("Group {0} not exists.", groupName)); + Trace.Info(StringUtil.Format("Group {0} does not exist.", groupName)); break; case ReturnCode.ERROR_ACCESS_DENIED: From 1dd86a7b5373491812f4ecfd6fa96de85d5c3956 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:01:03 -0500 Subject: [PATCH 061/184] spelling: empty Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Plugins/Artifact/FileContainerServer.cs | 10 +++++----- src/Test/L0/Util/StringUtilL0.cs | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Runner.Plugins/Artifact/FileContainerServer.cs b/src/Runner.Plugins/Artifact/FileContainerServer.cs index d924ae59b45..856383c1248 100644 --- a/src/Runner.Plugins/Artifact/FileContainerServer.cs +++ b/src/Runner.Plugins/Artifact/FileContainerServer.cs @@ -103,9 +103,9 @@ public async Task DownloadFromContainerAsync( } // container items will include both folders, files and even file with zero size - // Create all required empty folders and emptry files, gather a list of files that we need to download from server. + // Create all required empty folders and empty files, gather a list of files that we need to download from server. int foldersCreated = 0; - int emptryFilesCreated = 0; + int emptyFilesCreated = 0; List downloadFiles = new(); foreach (var item in containerItems.OrderBy(x => x.Path)) { @@ -134,7 +134,7 @@ public async Task DownloadFromContainerAsync( using (new FileStream(localPath, FileMode.Create)) { } - emptryFilesCreated++; + emptyFilesCreated++; } else { @@ -153,9 +153,9 @@ public async Task DownloadFromContainerAsync( context.Output($"{foldersCreated} folders created."); } - if (emptryFilesCreated > 0) + if (emptyFilesCreated > 0) { - context.Output($"{emptryFilesCreated} empty files created."); + context.Output($"{emptyFilesCreated} empty files created."); } if (downloadFiles.Count == 0) diff --git a/src/Test/L0/Util/StringUtilL0.cs b/src/Test/L0/Util/StringUtilL0.cs index f6eed8ccf47..ebac1183dc1 100644 --- a/src/Test/L0/Util/StringUtilL0.cs +++ b/src/Test/L0/Util/StringUtilL0.cs @@ -102,7 +102,7 @@ public void FormatUsesInvariantCulture() [Fact] [Trait("Level", "L0")] [Trait("Category", "Common")] - public void ConvertNullOrEmptryStringToBool() + public void ConvertNullOrEmptyStringToBool() { using (TestHostContext hc = new(this)) { @@ -123,7 +123,7 @@ public void ConvertNullOrEmptryStringToBool() [Fact] [Trait("Level", "L0")] [Trait("Category", "Common")] - public void ConvertNullOrEmptryStringToDefaultBool() + public void ConvertNullOrEmptyStringToDefaultBool() { using (TestHostContext hc = new(this)) { From 65998092dcd3164673295e59eeb71d8fb95d44ed Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:21:44 -0500 Subject: [PATCH 062/184] spelling: end Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Runner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs index 9bf81f2ff1e..2807dc45b7e 100644 --- a/src/Runner.Listener/Runner.cs +++ b/src/Runner.Listener/Runner.cs @@ -819,7 +819,7 @@ await configUpdater.UpdateRunnerConfigAsync( catch (Exception ex) when (runOnce) { // ignore exception during delete session for ephemeral runner since the runner might already be deleted from the server side - // and the delete session call will ends up with 401. + // and the delete session call will end up with 401. Trace.Info($"Ignore any exception during DeleteSession for an ephemeral runner. {ex}"); } } From 20101d2adbb24a73a5a5842eeee977646c3a5e74 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:21:31 -0500 Subject: [PATCH 063/184] spelling: ends Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index c228d4dde23..88b8023e0d0 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -408,7 +408,7 @@ private static Assembly ResolveAssembly(AssemblyName asmName) // DEVNOTE: Do not tack-on the version information, instead let the // assembly load without it so that it may resolve to the appropriate. // Otherwise, translation down the stack may fail due to version mismatch - // and that end's up creating un-necessary retries on certain user defined exceptions. + // and that ends up creating un-necessary retries on certain user defined exceptions. // newName.Version = Assembly.GetExecutingAssembly().GetName().Version; newName.SetPublicKeyToken(asmName.GetPublicKeyToken()); From 7276179d0c85160fc86b1e5ee1c235c240100d4d Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:01:23 -0500 Subject: [PATCH 064/184] spelling: enumerable Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/PartitioningResults.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/Common/Common/Utility/PartitioningResults.cs b/src/Sdk/Common/Common/Utility/PartitioningResults.cs index 4b0b82e73e7..c2bdd09afe4 100644 --- a/src/Sdk/Common/Common/Utility/PartitioningResults.cs +++ b/src/Sdk/Common/Common/Utility/PartitioningResults.cs @@ -3,7 +3,7 @@ namespace GitHub.Services.Common { /// - /// Contains results from two-way variant of EnuemrableExtensions.Partition() + /// Contains results from two-way variant of EnumerableExtensions.Partition() /// /// The type of the elements in the contained lists. public sealed class PartitionResults @@ -14,7 +14,7 @@ public sealed class PartitionResults } /// - /// Contains results from multi-partitioning variant of EnuemrableExtensions.Partition() + /// Contains results from multi-partitioning variant of EnumerableExtensions.Partition() /// /// The type of the elements in the contained lists. public sealed class MultiPartitionResults From 3ee439f4ea2ad2afa281c878830840857e148524 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:01:21 -0500 Subject: [PATCH 065/184] spelling: env Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/ActionRunner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/ActionRunner.cs b/src/Runner.Worker/ActionRunner.cs index da967468a33..a232c6c0a20 100644 --- a/src/Runner.Worker/ActionRunner.cs +++ b/src/Runner.Worker/ActionRunner.cs @@ -245,7 +245,7 @@ Action.Reference is Pipelines.RepositoryPathReference repoAction && #else var envContext = ExecutionContext.ExpressionValues["env"] as CaseSensitiveDictionaryContextData; #endif - // Apply environment from env context, env context contains job level env and action's evn block + // Apply environment from env context, env context contains job level env and action's env block foreach (var env in envContext) { environment[env.Key] = env.Value.ToString(); From da9017830ae995e70a30167ab82ebbc2d41880c4 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:21:55 -0500 Subject: [PATCH 066/184] spelling: equal Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/0549-composite-run-steps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/0549-composite-run-steps.md b/docs/adrs/0549-composite-run-steps.md index 2f6ff35661d..c93e0eb27ff 100644 --- a/docs/adrs/0549-composite-run-steps.md +++ b/docs/adrs/0549-composite-run-steps.md @@ -314,7 +314,7 @@ runs: **We will not support "timeout-minutes" in a composite action for now. This functionality will be focused on in a future ADR.** -A composite action in its entirety is a job. You can set both timeout-minutes for the whole composite action or its steps as long as the sum of the `timeout-minutes` for each composite action step that has the attribute `timeout-minutes` is less than or equals to `timeout-minutes` for the composite action. There is no default timeout-minutes for each composite action step. +A composite action in its entirety is a job. You can set both timeout-minutes for the whole composite action or its steps as long as the sum of the `timeout-minutes` for each composite action step that has the attribute `timeout-minutes` is less than or equal to `timeout-minutes` for the composite action. There is no default timeout-minutes for each composite action step. If the time taken for any of the steps in combination or individually exceeds the whole composite action `timeout-minutes` attribute, the whole job will fail (1). If an individual step exceeds its own `timeout-minutes` attribute but the total time that has been used including this step is below the overall composite action `timeout-minutes`, the individual step will fail but the rest of the steps will run based on their own `timeout-minutes` attribute (they will still abide by condition (1) though). From 9aabb9d9faac847ea85e2f9e3ee8b3fcafdfc06c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:22:02 -0500 Subject: [PATCH 067/184] spelling: equals Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/ArgumentUtility.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/Common/Common/Utility/ArgumentUtility.cs b/src/Sdk/Common/Common/Utility/ArgumentUtility.cs index 55500639355..7f062ddd666 100644 --- a/src/Sdk/Common/Common/Utility/ArgumentUtility.cs +++ b/src/Sdk/Common/Common/Utility/ArgumentUtility.cs @@ -1151,7 +1151,7 @@ public static void CheckStringForInvalidCharacters(string[] stringArrayVar, stri } /// - /// Throws an exception if the provided value equals to infinity. + /// Throws an exception if the provided value equals infinity. /// /// value to check /// the variable or parameter name to display @@ -1161,7 +1161,7 @@ public static void CheckValueEqualsToInfinity(float value, string valueName) } /// - /// Throws an exception if the provided value equals to infinity. + /// Throws an exception if the provided value equals infinity. /// /// value to check /// the variable or parameter name to display From 70e9fc2cf052c8af0696d0488065b5bd437d40f3 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:01:39 -0500 Subject: [PATCH 068/184] spelling: equivalent Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1891-container-hooks.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/adrs/1891-container-hooks.md b/docs/adrs/1891-container-hooks.md index 8b8e73efdd5..cc4e78e6833 100644 --- a/docs/adrs/1891-container-hooks.md +++ b/docs/adrs/1891-container-hooks.md @@ -286,9 +286,9 @@ jobContainer: **Optional** An Object containing information about the specified ### Cleanup Job The `cleanup_job` hook is called at the end of a job and expects you to: -- Stop any running service or job containers (or the equiavalent pod) +- Stop any running service or job containers (or the equivalent pod) - Stop the network (if one exists) -- Delete any job or service containers (or the equiavalent pod) +- Delete any job or service containers (or the equivalent pod) - Delete the network (if one exists) - Cleanup anything else that was created for the run From 2dae19cdbc86bbfd8b28bdede004606183b39346 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:01:46 -0500 Subject: [PATCH 069/184] spelling: errors Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/ExecutionContext.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/ExecutionContext.cs b/src/Runner.Worker/ExecutionContext.cs index 5646d46aa53..752149e7e1f 100644 --- a/src/Runner.Worker/ExecutionContext.cs +++ b/src/Runner.Worker/ExecutionContext.cs @@ -1498,7 +1498,7 @@ internal TemplateTraceWriter(IExecutionContext executionContext) public void Error(string format, params Object[] args) { - /* TraceWriter should be used for logging and not creating erros. */ + /* TraceWriter should be used for logging and not creating errors. */ if (logTemplateErrorsAsDebugMessages()) { _executionContext.Debug(string.Format(CultureInfo.CurrentCulture, format, args)); From 36e79bab34748ab8f040c8c7e84928dd6eb3e5ef Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:00:17 -0500 Subject: [PATCH 070/184] spelling: etc. Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTPipelines/Pipelines/ActionStep.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/DTPipelines/Pipelines/ActionStep.cs b/src/Sdk/DTPipelines/Pipelines/ActionStep.cs index f4ed5f041b5..7428dadea62 100644 --- a/src/Sdk/DTPipelines/Pipelines/ActionStep.cs +++ b/src/Sdk/DTPipelines/Pipelines/ActionStep.cs @@ -36,7 +36,7 @@ public ActionStepDefinitionReference Reference set; } - // TODO: After TFS and legacy phases/steps/ect are removed, lets replace the DisplayName in the base class with this value and remove this additional prop + // TODO: After TFS and legacy phases/steps/etc. are removed, lets replace the DisplayName in the base class with this value and remove this additional prop [DataMember(EmitDefaultValue = false)] public TemplateToken DisplayNameToken { get; set; } From d10e0b2e12202daeafc56814caa9d888406ecc54 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:02:03 -0500 Subject: [PATCH 071/184] spelling: evaluate Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/ActionRunner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/ActionRunner.cs b/src/Runner.Worker/ActionRunner.cs index a232c6c0a20..436ec5fd3df 100644 --- a/src/Runner.Worker/ActionRunner.cs +++ b/src/Runner.Worker/ActionRunner.cs @@ -312,7 +312,7 @@ public bool TryUpdateDisplayName(out bool updated) } catch (Exception ex) { - Trace.Warning("Caught exception while attempting to evaulate/update the step's DisplayName. Exception Details: {0}", ex); + Trace.Warning("Caught exception while attempting to evaluate/update the step's DisplayName. Exception Details: {0}", ex); } // For consistency with other implementations of TryUpdateDisplayName we use !string.IsNullOrEmpty below, From 2d7642efdd2d88fdd16f9f0ad88f9f75668c9e0f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:01:55 -0500 Subject: [PATCH 072/184] spelling: evaluation Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs | 2 +- src/Sdk/Expressions/Sdk/ExpressionNode.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs index 28e7b37ecde..36de91ab39b 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs @@ -30,7 +30,7 @@ protected internal String Name } /// - /// Indicates whether the evalation result should be stored on the context and used + /// Indicates whether the evaluation result should be stored on the context and used /// when the realized result is traced. /// protected abstract Boolean TraceFullyRealized { get; } diff --git a/src/Sdk/Expressions/Sdk/ExpressionNode.cs b/src/Sdk/Expressions/Sdk/ExpressionNode.cs index 5acbad2451e..35bf88a4a7d 100644 --- a/src/Sdk/Expressions/Sdk/ExpressionNode.cs +++ b/src/Sdk/Expressions/Sdk/ExpressionNode.cs @@ -28,7 +28,7 @@ public String Name } /// - /// Indicates whether the evalation result should be stored on the context and used + /// Indicates whether the evaluation result should be stored on the context and used /// when the expanded result is traced. /// protected abstract Boolean TraceFullyExpanded { get; } From edba29a64098440f0348e39f3659c2c41c8d9c2f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:02:12 -0500 Subject: [PATCH 073/184] spelling: exception Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index 89b94c913ab..173e36b0629 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -425,7 +425,7 @@ private async Task RunAsync(Pipelines.AgentJobRequestMessage message, string orc using (var processInvoker = HostContext.CreateService()) { // Start the process channel. - // It's OK if StartServer bubbles an execption after the worker process has already started. + // It's OK if StartServer bubbles an exception after the worker process has already started. // The worker will shutdown after 30 seconds if it hasn't received the job message. processChannel.StartServer( // Delegate to start the child process. From 29f14142835cb0f18bb59c08b832e96232293635 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:02:19 -0500 Subject: [PATCH 074/184] spelling: exchanges Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/OAuth/VssOAuthConstants.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthConstants.cs b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthConstants.cs index dbff7277607..b38b84c61fe 100644 --- a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthConstants.cs +++ b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthConstants.cs @@ -3,7 +3,7 @@ namespace GitHub.Services.OAuth { /// - /// Provides constants used in token exhanges for OAuth 2.0 + /// Provides constants used in token exchanges for OAuth 2.0 /// public static class VssOAuthConstants { From 56928d9ada8de30fe2a701c539a29d9e9553f47c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:02:28 -0500 Subject: [PATCH 075/184] spelling: explicitly Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Worker/ActionRunnerL0.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Test/L0/Worker/ActionRunnerL0.cs b/src/Test/L0/Worker/ActionRunnerL0.cs index 8186e25b642..8404ddb2158 100644 --- a/src/Test/L0/Worker/ActionRunnerL0.cs +++ b/src/Test/L0/Worker/ActionRunnerL0.cs @@ -191,7 +191,7 @@ public void EvaluateExpansionOfDisplayNameToken() [Trait("Category", "Worker")] public void IgnoreDisplayNameTokenWhenDisplayNameIsExplicitlySet() { - var explicitDisplayName = "Explcitly Set Name"; + var explicitDisplayName = "Explicitly Set Name"; // Arrange Setup(); From de0e7e279404904a3268b79420b8b107d8a2bf8c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:02:36 -0500 Subject: [PATCH 076/184] spelling: expression Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs | 2 +- src/Sdk/Expressions/Sdk/ExpressionNode.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs index 36de91ab39b..ffb03a80ec5 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs @@ -159,7 +159,7 @@ private void TraceTreeResult( String.Equals(realizedExpression, $"'{traceValue}'", StringComparison.Ordinal)) { // Don't bother tracing the realized expression when the result is a number and the - // realized expresion is a precisely matching string. + // realized expression is a precisely matching string. } else { diff --git a/src/Sdk/Expressions/Sdk/ExpressionNode.cs b/src/Sdk/Expressions/Sdk/ExpressionNode.cs index 35bf88a4a7d..1e60a3bc464 100644 --- a/src/Sdk/Expressions/Sdk/ExpressionNode.cs +++ b/src/Sdk/Expressions/Sdk/ExpressionNode.cs @@ -162,7 +162,7 @@ private void TraceTreeResult( String.Equals(expandedExpression, $"'{traceValue}'", StringComparison.Ordinal)) { // Don't bother tracing the expanded expression when the result is a number and the - // expanded expresion is a precisely matching string. + // expanded expression is a precisely matching string. } else { From 24e5760543c6365fe56d73cab00741ea66589696 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:02:47 -0500 Subject: [PATCH 077/184] spelling: failure Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../Configuration/NativeWindowsServiceHelper.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs index de6804d080b..7639795f537 100644 --- a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs +++ b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs @@ -560,9 +560,9 @@ public void InstallService(string serviceName, string serviceDisplayName, string sfa.lpsaActions = tmpBuf.ToInt64(); // Call the ChangeServiceFailureActions() abstraction of ChangeServiceConfig2() - bool falureActionsResult = ChangeServiceFailureActions(svcHndl, SERVICE_CONFIG_FAILURE_ACTIONS, ref sfa); + bool failureActionsResult = ChangeServiceFailureActions(svcHndl, SERVICE_CONFIG_FAILURE_ACTIONS, ref sfa); //Check the return - if (!falureActionsResult) + if (!failureActionsResult) { int lastErrorCode = (int)GetLastError(); Exception win32exception = new Win32Exception(lastErrorCode); From 2e5f227df841d7d1f7d403584330b92844455eac Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:56:55 -0500 Subject: [PATCH 078/184] spelling: fall back Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1751-runner-job-hooks.md | 2 +- src/Misc/layoutbin/update.sh.template | 2 +- src/Misc/layoutroot/safe_sleep.sh | 2 +- src/Runner.Common/HostContext.cs | 2 +- src/Runner.Common/JobServer.cs | 2 +- src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs | 2 +- src/Sdk/Expressions/Sdk/ExpressionNode.cs | 4 ++-- src/Sdk/WebApi/WebApi/VssJsonCreationConverter.cs | 2 +- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index c6984a375e2..d0d7c8479eb 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -25,7 +25,7 @@ This feature is mainly intended for self hosted runner administrators. You can set these variables to the **absolute** path of a `.sh` or `.ps1` file. -We will execute `pwsh` (fallback to `powershell`) or `bash` (fallback to `sh`) as appropriate. +We will execute `pwsh` (fall back to `powershell`) or `bash` (fall back to `sh`) as appropriate. - `.sh` files will execute with the args `-e {pathtofile}` - `.ps1` files will execute with the args `-command \". '{pathtofile}'\"` diff --git a/src/Misc/layoutbin/update.sh.template b/src/Misc/layoutbin/update.sh.template index bc386eb9d39..795db7f3c63 100755 --- a/src/Misc/layoutbin/update.sh.template +++ b/src/Misc/layoutbin/update.sh.template @@ -135,7 +135,7 @@ if [[ "$currentplatform" == 'darwin' && $restartinteractiverunner -eq 0 ]]; the then # inspect the open file handles to find the node process # we can't actually inspect the process using ps because it uses relative paths and doesn't follow symlinks - # Try finding node24 first, then fallback to earlier versions if needed + # Try finding node24 first, then fall back to earlier versions if needed nodever="node24" path=$(lsof -a -g "$procgroup" -F n | grep $nodever/bin/node | grep externals | tail -1 | cut -c2-) if [[ $? -ne 0 || -z "$path" ]] # Fallback if RunnerService.js was started with node20 diff --git a/src/Misc/layoutroot/safe_sleep.sh b/src/Misc/layoutroot/safe_sleep.sh index 7b61c584ee9..1d05dca5d8a 100644 --- a/src/Misc/layoutroot/safe_sleep.sh +++ b/src/Misc/layoutroot/safe_sleep.sh @@ -30,7 +30,7 @@ if [ -n "$BASH_VERSION" ]; then fi fi -# fallback to a busy wait +# fall back to a busy wait SECONDS=0 while [[ $SECONDS -lt $1 ]]; do : diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs index ca012a99999..aa3f1ca668d 100644 --- a/src/Runner.Common/HostContext.cs +++ b/src/Runner.Common/HostContext.cs @@ -321,7 +321,7 @@ public void LoadDefaultUserAgents() var orchestrationId = claims.FirstOrDefault(x => string.Equals(x.Type, "orch_id", StringComparison.OrdinalIgnoreCase))?.Value; if (string.IsNullOrEmpty(orchestrationId)) { - // fallback to orchid for C# actions-service + // fall back to orchid for C# actions-service orchestrationId = claims.FirstOrDefault(x => string.Equals(x.Type, "orchid", StringComparison.OrdinalIgnoreCase))?.Value; } diff --git a/src/Runner.Common/JobServer.cs b/src/Runner.Common/JobServer.cs index eac20a2b983..58842df0c8e 100644 --- a/src/Runner.Common/JobServer.cs +++ b/src/Runner.Common/JobServer.cs @@ -258,7 +258,7 @@ public async Task AppendTimelineRecordFeedAsync(Guid scopeIdentifier, string hub catch (Exception ex) { failedAttemptsToPostBatchedLinesByWebsocket++; - Trace.Info($"Caught exception during append web console line to websocket, let's fallback to sending via non-websocket call (total calls: {totalBatchedLinesAttemptedByWebsocket}, failed calls: {failedAttemptsToPostBatchedLinesByWebsocket}, websocket state: {this._websocketClient?.State})."); + Trace.Info($"Caught exception during append web console line to websocket, let's fall back to sending via non-websocket call (total calls: {totalBatchedLinesAttemptedByWebsocket}, failed calls: {failedAttemptsToPostBatchedLinesByWebsocket}, websocket state: {this._websocketClient?.State})."); Trace.Verbose(ex.ToString()); if (totalBatchedLinesAttemptedByWebsocket > _minWebsocketBatchedLinesCountToConsider) { diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs index ffb03a80ec5..8d578d03400 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionNode.cs @@ -14,7 +14,7 @@ public abstract class ExpressionNode : IExpressionNode /// /// The name is used for tracing. Normally the parser will set the name. However if a node - /// is added manually, then the name may not be set and will fallback to the type name. + /// is added manually, then the name may not be set and will fall back to the type name. /// protected internal String Name { diff --git a/src/Sdk/Expressions/Sdk/ExpressionNode.cs b/src/Sdk/Expressions/Sdk/ExpressionNode.cs index 1e60a3bc464..b0c957c1c63 100644 --- a/src/Sdk/Expressions/Sdk/ExpressionNode.cs +++ b/src/Sdk/Expressions/Sdk/ExpressionNode.cs @@ -1,4 +1,4 @@ -#nullable disable // Consider removing in the future to minimize likelihood of NullReferenceException; refer https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references +#nullable disable // Consider removing in the future to minimize likelihood of NullReferenceException; refer https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references using System; @@ -12,7 +12,7 @@ public abstract class ExpressionNode : IExpressionNode /// /// The name is used for tracing. Normally the parser will set the name. However if a node - /// is added manually, then the name may not be set and will fallback to the type name. + /// is added manually, then the name may not be set and will fall back to the type name. /// public String Name { diff --git a/src/Sdk/WebApi/WebApi/VssJsonCreationConverter.cs b/src/Sdk/WebApi/WebApi/VssJsonCreationConverter.cs index 7c50ddbcbc8..7e1b71d1d4d 100644 --- a/src/Sdk/WebApi/WebApi/VssJsonCreationConverter.cs +++ b/src/Sdk/WebApi/WebApi/VssJsonCreationConverter.cs @@ -28,7 +28,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist return target; } - // fallback to default behavior for writes + // fall back to default behavior for writes public override bool CanWrite => false; public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index 88b8023e0d0..2d0c9594454 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -227,7 +227,7 @@ public Exception Unwrap(IDictionary typeMapping) if (exception == null) { - //no standard mapping, fallback to + //no standard mapping, fall back to exception = UnWrap(innerException); } From ecb1afeb8d901a28aa3ba329bacd5f29d0d9f48e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:02:57 -0500 Subject: [PATCH 079/184] spelling: full Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index 2d0c9594454..bb12d208909 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -340,7 +340,7 @@ private ConstructorInfo GetMatchingConstructor(params Type[] parameterTypes) private static Type LoadType(String typeName) { - // For rest api version < 3.0, the server transmits the fulllAssemblyQualifiedName of exception at time that version was initially released, + // For rest api version < 3.0, the server transmits the fullAssemblyQualifiedName of exception at time that version was initially released, // which means normal loading will fail due to version mismatch, as the version will always be <= 14.0.0.0. // Example: typeName=GitHub.Core.WebApi.ProjectDoesNotExistWithNameException, GitHub.Core.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a From 1ddef172a56c394dd91d4b7c18ecc027b74fd7e6 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:03:06 -0500 Subject: [PATCH 080/184] spelling: function Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs | 2 +- src/Sdk/Expressions/Sdk/ResultMemory.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs index b5524c5b730..e641de2568e 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs @@ -39,7 +39,7 @@ public class ResultMemory /// For , this value is currently ignored. /// /// - /// For example, consider a funciton jsonParse() which takes a string paramter, + /// For example, consider a function jsonParse() which takes a string paramter, /// and returns a JToken object. The JToken object is newly created and a rough /// measurement should be returned for the amount of bytes it consumes in memory. /// Set the to true, since new object contains no references diff --git a/src/Sdk/Expressions/Sdk/ResultMemory.cs b/src/Sdk/Expressions/Sdk/ResultMemory.cs index 165d59b54b7..b9a27ed9d64 100644 --- a/src/Sdk/Expressions/Sdk/ResultMemory.cs +++ b/src/Sdk/Expressions/Sdk/ResultMemory.cs @@ -37,7 +37,7 @@ public class ResultMemory /// For , this value is currently ignored. /// /// - /// For example, consider a funciton jsonParse() which takes a string paramter, + /// For example, consider a function jsonParse() which takes a string paramter, /// and returns a JToken object. The JToken object is newly created and a rough /// measurement should be returned for the amount of bytes it consumes in memory. /// Set the to true, since new object contains no references From 2c516024643144e8d4413eb538424a76937f38f0 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:39:47 -0500 Subject: [PATCH 081/184] spelling: further Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs | 8 ++++---- src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs b/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs index bff5eccd64d..12fdf1f8ebb 100644 --- a/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs +++ b/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs @@ -205,7 +205,7 @@ public async Task GetSourceAsync( int exitCode_clean = await gitCommandManager.GitClean(executionContext, targetPath); if (exitCode_clean != 0) { - executionContext.Debug($"'git clean -ffdx' failed with exit code {exitCode_clean}, this normally caused by:\n 1) Path too long\n 2) Permission issue\n 3) File in use\nFor futher investigation, manually run 'git clean -ffdx' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git clean -ffdx' failed with exit code {exitCode_clean}, this normally caused by:\n 1) Path too long\n 2) Permission issue\n 3) File in use\nFor further investigation, manually run 'git clean -ffdx' on repo root: {targetPath} after each build."); softCleanSucceed = false; } @@ -215,7 +215,7 @@ public async Task GetSourceAsync( int exitCode_reset = await gitCommandManager.GitReset(executionContext, targetPath); if (exitCode_reset != 0) { - executionContext.Debug($"'git reset --hard HEAD' failed with exit code {exitCode_reset}\nFor futher investigation, manually run 'git reset --hard HEAD' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git reset --hard HEAD' failed with exit code {exitCode_reset}\nFor further investigation, manually run 'git reset --hard HEAD' on repo root: {targetPath} after each build."); softCleanSucceed = false; } } @@ -228,7 +228,7 @@ public async Task GetSourceAsync( int exitCode_submoduleclean = await gitCommandManager.GitSubmoduleClean(executionContext, targetPath); if (exitCode_submoduleclean != 0) { - executionContext.Debug($"'git submodule foreach git clean -ffdx' failed with exit code {exitCode_submoduleclean}\nFor futher investigation, manually run 'git submodule foreach git clean -ffdx' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git submodule foreach git clean -ffdx' failed with exit code {exitCode_submoduleclean}\nFor further investigation, manually run 'git submodule foreach git clean -ffdx' on repo root: {targetPath} after each build."); softCleanSucceed = false; } } @@ -238,7 +238,7 @@ public async Task GetSourceAsync( int exitCode_submodulereset = await gitCommandManager.GitSubmoduleReset(executionContext, targetPath); if (exitCode_submodulereset != 0) { - executionContext.Debug($"'git submodule foreach git reset --hard HEAD' failed with exit code {exitCode_submodulereset}\nFor futher investigation, manually run 'git submodule foreach git reset --hard HEAD' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git submodule foreach git reset --hard HEAD' failed with exit code {exitCode_submodulereset}\nFor further investigation, manually run 'git submodule foreach git reset --hard HEAD' on repo root: {targetPath} after each build."); softCleanSucceed = false; } } diff --git a/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs b/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs index 1eddc0ba1ce..bf96290e630 100644 --- a/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs +++ b/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs @@ -189,7 +189,7 @@ public async Task GetSourceAsync( int exitCode_clean = await gitCommandManager.GitClean(executionContext, targetPath); if (exitCode_clean != 0) { - executionContext.Debug($"'git clean -ffdx' failed with exit code {exitCode_clean}, this normally caused by:\n 1) Path too long\n 2) Permission issue\n 3) File in use\nFor futher investigation, manually run 'git clean -ffdx' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git clean -ffdx' failed with exit code {exitCode_clean}, this normally caused by:\n 1) Path too long\n 2) Permission issue\n 3) File in use\nFor further investigation, manually run 'git clean -ffdx' on repo root: {targetPath} after each build."); softCleanSucceed = false; } @@ -199,7 +199,7 @@ public async Task GetSourceAsync( int exitCode_reset = await gitCommandManager.GitReset(executionContext, targetPath); if (exitCode_reset != 0) { - executionContext.Debug($"'git reset --hard HEAD' failed with exit code {exitCode_reset}\nFor futher investigation, manually run 'git reset --hard HEAD' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git reset --hard HEAD' failed with exit code {exitCode_reset}\nFor further investigation, manually run 'git reset --hard HEAD' on repo root: {targetPath} after each build."); softCleanSucceed = false; } } @@ -212,7 +212,7 @@ public async Task GetSourceAsync( int exitCode_submoduleclean = await gitCommandManager.GitSubmoduleClean(executionContext, targetPath); if (exitCode_submoduleclean != 0) { - executionContext.Debug($"'git submodule foreach git clean -ffdx' failed with exit code {exitCode_submoduleclean}\nFor futher investigation, manually run 'git submodule foreach git clean -ffdx' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git submodule foreach git clean -ffdx' failed with exit code {exitCode_submoduleclean}\nFor further investigation, manually run 'git submodule foreach git clean -ffdx' on repo root: {targetPath} after each build."); softCleanSucceed = false; } } @@ -222,7 +222,7 @@ public async Task GetSourceAsync( int exitCode_submodulereset = await gitCommandManager.GitSubmoduleReset(executionContext, targetPath); if (exitCode_submodulereset != 0) { - executionContext.Debug($"'git submodule foreach git reset --hard HEAD' failed with exit code {exitCode_submodulereset}\nFor futher investigation, manually run 'git submodule foreach git reset --hard HEAD' on repo root: {targetPath} after each build."); + executionContext.Debug($"'git submodule foreach git reset --hard HEAD' failed with exit code {exitCode_submodulereset}\nFor further investigation, manually run 'git submodule foreach git reset --hard HEAD' on repo root: {targetPath} after each build."); softCleanSucceed = false; } } From a7b49da94fcb9b61efa05fc7b75021e6a6bbf253 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:40:00 -0500 Subject: [PATCH 082/184] spelling: guarantee Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs index ec1525bc3f4..104112c7981 100644 --- a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs +++ b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs @@ -542,7 +542,7 @@ protected void SaveFile(IDictionary originalSettings, IDictionary< { // during testing, creating this backup provided reliability in the event of aborted threads, and // crashed processes. With this, I was not able to simulate a case where corruption happens, but there is no - // 100% gaurantee against corruption. + // 100% guarantee against corruption. string originalContent = JValue.Parse(JsonConvert.SerializeObject(originalSettings)).ToString(Formatting.Indented); SaveFile(m_bckUpFilePath, originalContent); } From 1fa152d087daf228a9c75b5277f6d32746c8eb25 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:43:17 -0500 Subject: [PATCH 083/184] spelling: hierarchically Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs b/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs index 617d7b850f6..1536f113253 100644 --- a/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs +++ b/src/Sdk/Common/Common/ClientStorage/IVssClientStorage.cs @@ -65,7 +65,7 @@ public interface IVssClientStorageWriter /// /// Write one entry into the local data storage. /// - /// This is the key for the data to store. Providing a path allows data to be accessed hierarchicaly. + /// This is the key for the data to store. Providing a path allows data to be accessed hierarchically. /// The value to store at the specified path. Setting his to NULL will remove the entry. void WriteEntry(string path, object value); From 9ac839375fa4d4028b8f746241129cc60293e6ad Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:06:02 -0500 Subject: [PATCH 084/184] spelling: how Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1891-container-hooks.md | 2 +- src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/adrs/1891-container-hooks.md b/docs/adrs/1891-container-hooks.md index cc4e78e6833..2d804fa42de 100644 --- a/docs/adrs/1891-container-hooks.md +++ b/docs/adrs/1891-container-hooks.md @@ -8,7 +8,7 @@ [Job Hooks](https://github.com/actions/runner/blob/main/docs/adrs/1751-runner-job-hooks.md) have given users the ability to customize how their self hosted runners run a job. Users also want the ability to customize how they run containers during the scope of the job, rather then being locked into the docker implementation we have in the runner. They may want to use podman, kubernetes, or even change the docker commands we run. -We should give them that option, and publish examples how how they can create their own hooks. +We should give them that option, and publish examples how they can create their own hooks. # Guiding Principles - **Extensibility** is the focus, we need to make sure we are flexible enough to cover current and future scenarios, even at the cost of making it harder to utilize these hooks diff --git a/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs b/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs index 9089b7d5d6b..407860e2a1c 100644 --- a/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs +++ b/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs @@ -267,7 +267,7 @@ public async Task GetTokenAsync( // It may seem strange to pass the string value of TotalSeconds into this method, but testing // showed that ETW is persnickety when you register a method in an EventSource that doesn't // use strings or integers as its parameters. It is easier to simply give a string to the method - // than figure out to get ETW to reliably accept a double or TimeSpan. + // than figure out how to get ETW to reliably accept a double or TimeSpan. VssHttpEventSource.Log.AuthorizationDelayed(getTokenTime.TotalSeconds.ToString()); } } From d17f0948845b8e17493073d4a28b92440f0adbcc Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:51:20 -0500 Subject: [PATCH 085/184] spelling: identifier Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Location/Interfaces.cs | 4 ++-- src/Sdk/WebApi/WebApi/Location/LocationService.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/Location/Interfaces.cs b/src/Sdk/WebApi/WebApi/Location/Interfaces.cs index b9e5845a050..50c6bc8488d 100644 --- a/src/Sdk/WebApi/WebApi/Location/Interfaces.cs +++ b/src/Sdk/WebApi/WebApi/Location/Interfaces.cs @@ -386,7 +386,7 @@ AccessMapping GetAccessMapping( /// /// Get the API resource locations -- a collection of versioned URL paths that - /// are keyed by a location identitifer + /// are keyed by a location identifier /// /// ApiResourceLocationCollection GetResourceLocations(); @@ -582,7 +582,7 @@ Task GetAccessMappingAsync( /// /// Get the API resource locations -- a collection of versioned URL paths that - /// are keyed by a location identitifer + /// are keyed by a location identifier /// /// Task GetResourceLocationsAsync(CancellationToken cancellationToken = default(CancellationToken)); diff --git a/src/Sdk/WebApi/WebApi/Location/LocationService.cs b/src/Sdk/WebApi/WebApi/Location/LocationService.cs index 09a6b96766f..400333fed28 100644 --- a/src/Sdk/WebApi/WebApi/Location/LocationService.cs +++ b/src/Sdk/WebApi/WebApi/Location/LocationService.cs @@ -248,9 +248,9 @@ protected virtual ILocationDataProvider LocalDataProvider private class ProviderCache { - public Boolean TryGetValue(Guid locationAreaIdentfier, out ILocationDataProvider provider) + public Boolean TryGetValue(Guid locationAreaIdentifier, out ILocationDataProvider provider) { - return m_guidCache.TryGetValue(locationAreaIdentfier, out provider); + return m_guidCache.TryGetValue(locationAreaIdentifier, out provider); } public Boolean TryGetValue(String locationUrl, out ILocationDataProvider provider) From 28e980dfbfe029edbe6393727563813def508fb2 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:51:47 -0500 Subject: [PATCH 086/184] spelling: identities Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/VssCommonConstants.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/VssCommonConstants.cs b/src/Sdk/Common/Common/VssCommonConstants.cs index 596ef6503ed..c4fd6b9c2be 100644 --- a/src/Sdk/Common/Common/VssCommonConstants.cs +++ b/src/Sdk/Common/Common/VssCommonConstants.cs @@ -113,7 +113,7 @@ static IdentityConstants() /// /// The DB layer only supports byte, even though the data layer contracts suggests a /// 32-bit integer. Note: changing this constant implies that every new identity object - /// that is created, going forward will have this resource version set. Existing identites + /// that is created, going forward will have this resource version set. Existing identities /// will need to be updated to the current resource version level manually. /// /// This is created for rolling out of a feature based on identity not service host. From 40fffcefce3f476bf3eeb2a28c48fb757bbf8956 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:46:40 -0500 Subject: [PATCH 087/184] spelling: image Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTPipelines/Pipelines/JobContainer.cs | 2 +- src/Sdk/WorkflowParser/JobContainer.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/DTPipelines/Pipelines/JobContainer.cs b/src/Sdk/DTPipelines/Pipelines/JobContainer.cs index 901c4fed17d..2dc1d80fffe 100644 --- a/src/Sdk/DTPipelines/Pipelines/JobContainer.cs +++ b/src/Sdk/DTPipelines/Pipelines/JobContainer.cs @@ -58,7 +58,7 @@ public IList Ports } /// - /// Gets or sets the credentials used for pulling the container iamge. + /// Gets or sets the credentials used for pulling the container image. /// public ContainerRegistryCredentials Credentials { diff --git a/src/Sdk/WorkflowParser/JobContainer.cs b/src/Sdk/WorkflowParser/JobContainer.cs index dfa173c1030..6f03a8433c4 100644 --- a/src/Sdk/WorkflowParser/JobContainer.cs +++ b/src/Sdk/WorkflowParser/JobContainer.cs @@ -54,7 +54,7 @@ public IList Ports } /// - /// Gets or sets the credentials used for pulling the container iamge. + /// Gets or sets the credentials used for pulling the container image. /// public ContainerRegistryCredentials Credentials { From 191efa86b9f028ac8799a44919c948c4a0a63624 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:52:10 -0500 Subject: [PATCH 088/184] spelling: implicitly Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Container/DockerUtil.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Worker/Container/DockerUtil.cs b/src/Runner.Worker/Container/DockerUtil.cs index 8eb922493f9..b0af1134120 100644 --- a/src/Runner.Worker/Container/DockerUtil.cs +++ b/src/Runner.Worker/Container/DockerUtil.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; @@ -53,7 +53,7 @@ public static string ParsePathFromConfigEnv(IList configEnvLines) public static string ParseRegistryHostnameFromImageName(string name) { var nameSplit = name.Split('/'); - // Single slash is implictly from Dockerhub, unless first part has .tld or :port + // Single slash is implicitly from Dockerhub, unless first part has .tld or :port if (nameSplit.Length == 2 && (nameSplit[0].Contains(":") || nameSplit[0].Contains("."))) { return nameSplit[0]; From facae10a7bbc1599dad5a3664d476c35e479cbfd Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:52:59 -0500 Subject: [PATCH 089/184] spelling: in order Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs b/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs index e6c8e4efea4..ee0eede0e15 100644 --- a/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs +++ b/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs @@ -290,7 +290,7 @@ public async Task UploadFileAsync( FileUploadTrace(itemPath, $"Attempt '{attempt}' for uploading chunk '{currentChunk}' of file '{itemPath}'."); - // inorder for the upload to be retryable, we need the content to be re-readable + // in order for the upload to be retryable, we need the content to be re-readable // to ensure this we copy the chunk into a byte array and send that // chunk size ensures we can convert the length to an int int bytesToCopy = (int)currentStream.Length; From 90079258bc37a20a5ce69fd65e28bb906cd783b0 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:53:50 -0500 Subject: [PATCH 090/184] spelling: individual Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Worker.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/Worker.cs b/src/Runner.Worker/Worker.cs index 4784c169314..dd3465d7c29 100644 --- a/src/Runner.Worker/Worker.cs +++ b/src/Runner.Worker/Worker.cs @@ -152,7 +152,7 @@ private void InitializeSecretMasker(Pipelines.AgentJobRequestMessage message) var value = variable.Value.Value?.Trim() ?? string.Empty; // Add the entire value, even if it contains CR or LF. During expression tracing, - // invidual trace info may contain line breaks. + // individual trace info may contain line breaks. HostContext.SecretMasker.AddValue(value); // Also add each individual line. Typically individual lines are processed from STDOUT of child processes. From 0a2cc835db1040334cc2fe8f7548beccc9ea4d3c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:52:45 -0500 Subject: [PATCH 091/184] spelling: inherited Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../ObjectTemplating/Schema/MappingDefinition.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/DTObjectTemplating/ObjectTemplating/Schema/MappingDefinition.cs b/src/Sdk/DTObjectTemplating/ObjectTemplating/Schema/MappingDefinition.cs index 2d63c4008cd..5d0ac00751c 100644 --- a/src/Sdk/DTObjectTemplating/ObjectTemplating/Schema/MappingDefinition.cs +++ b/src/Sdk/DTObjectTemplating/ObjectTemplating/Schema/MappingDefinition.cs @@ -110,7 +110,7 @@ internal override void Validate( if (inherited.ReaderContext.Length > 0) { - throw new NotSupportedException($"Property '{TemplateConstants.Context}' is not supported on inhertied definitions"); + throw new NotSupportedException($"Property '{TemplateConstants.Context}' is not supported on inherited definitions"); } if (inherited.DefinitionType != DefinitionType.Mapping) From 17d76e6f59c78e65301c909a5307815de5b5cb09 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:53:42 -0500 Subject: [PATCH 092/184] spelling: initialization Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTWebApi/WebApi/TaskAgentMessage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/DTWebApi/WebApi/TaskAgentMessage.cs b/src/Sdk/DTWebApi/WebApi/TaskAgentMessage.cs index b23ebddc8fa..9428e00f1dd 100644 --- a/src/Sdk/DTWebApi/WebApi/TaskAgentMessage.cs +++ b/src/Sdk/DTWebApi/WebApi/TaskAgentMessage.cs @@ -37,7 +37,7 @@ public String MessageType } /// - /// Gets or sets the intialization vector used to encrypt this message. + /// Gets or sets the initialization vector used to encrypt this message. /// [DataMember(EmitDefaultValue = false)] public Byte[] IV From f7ff692b06490a5821e7b1059b935f9ee6d985bc Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:53:10 -0500 Subject: [PATCH 093/184] spelling: input Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Worker/ExecutionContextL0.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Test/L0/Worker/ExecutionContextL0.cs b/src/Test/L0/Worker/ExecutionContextL0.cs index 9a2f7a990a4..357cdc9aa5e 100644 --- a/src/Test/L0/Worker/ExecutionContextL0.cs +++ b/src/Test/L0/Worker/ExecutionContextL0.cs @@ -952,7 +952,7 @@ public void GetExpressionValues_ContainerStepHost() ec.Initialize(hc); var inputGithubContext = new GitHubContext(); - var inputeRunnerContext = new RunnerContext(); + var inputRunnerContext = new RunnerContext(); // string context data inputGithubContext["action_path"] = new StringContextData("/home/username/Projects/work/runner/_layout/_work/_actions/owner/composite/main"); @@ -965,8 +965,8 @@ public void GetExpressionValues_ContainerStepHost() inputGithubContext["run_id"] = new StringContextData("2033211332"); inputGithubContext["workflow"] = new StringContextData("Name of Workflow"); inputGithubContext["workspace"] = new StringContextData("/home/username/Projects/work/runner/_layout/_work/step-order/step-order"); - inputeRunnerContext["temp"] = new StringContextData("/home/username/Projects/work/runner/_layout/_work/_temp"); - inputeRunnerContext["tool_cache"] = new StringContextData("/home/username/Projects/work/runner/_layout/_work/_tool"); + inputRunnerContext["temp"] = new StringContextData("/home/username/Projects/work/runner/_layout/_work/_temp"); + inputRunnerContext["tool_cache"] = new StringContextData("/home/username/Projects/work/runner/_layout/_work/_tool"); // dictionary context data var githubEvent = new DictionaryContextData(); @@ -979,7 +979,7 @@ public void GetExpressionValues_ContainerStepHost() inputGithubContext["event"] = githubEvent; ec.ExpressionValues["github"] = inputGithubContext; - ec.ExpressionValues["runner"] = inputeRunnerContext; + ec.ExpressionValues["runner"] = inputRunnerContext; var ecExpect = new Runner.Worker.ExecutionContext(); ecExpect.Initialize(hc); From b00d7c1ecbcefc3214f4ae4ccb0adfcfe59b7f64 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:12:05 -0500 Subject: [PATCH 094/184] spelling: insecure Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1891-container-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/1891-container-hooks.md b/docs/adrs/1891-container-hooks.md index 2d804fa42de..d9e393219fa 100644 --- a/docs/adrs/1891-container-hooks.md +++ b/docs/adrs/1891-container-hooks.md @@ -46,7 +46,7 @@ All text written to stdout or stderr should appear in the job or step logs. With 1. Wrapping the json in some unique tag and processing it like we do commands 2. Writing to a file -For 1, users typically view logging information as a safe action, so we worry someone accidentally logging unsantized information and causing unexpected or un-secure behavior. We eventually plan to move off of stdout/stderr style commands in favor of a runner cli. +For 1, users typically view logging information as a safe action, so we worry someone accidentally logging unsantized information and causing unexpected or insecure behavior. We eventually plan to move off of stdout/stderr style commands in favor of a runner cli. Investing in this area doesn't make a lot of sense at this time. While writing to a file to communicate isn't the most ideal pattern, its an existing pattern in the runner and serves us well, so lets reuse it. From 994d0ba520793e5a086e1cc474be138e48638470 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:52:27 -0500 Subject: [PATCH 095/184] spelling: insensitive Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/VssHttpUriUtility.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/VssHttpUriUtility.cs b/src/Sdk/WebApi/WebApi/VssHttpUriUtility.cs index 1e56f9fc632..15980f7b835 100644 --- a/src/Sdk/WebApi/WebApi/VssHttpUriUtility.cs +++ b/src/Sdk/WebApi/WebApi/VssHttpUriUtility.cs @@ -47,7 +47,7 @@ public static String ReplaceRouteValues( int paramStart = -1, paramLength = 0; bool insideParam = false; HashSet unusedValues = new HashSet(routeValues.Keys, StringComparer.OrdinalIgnoreCase); - Dictionary caseIncensitiveRouteValues = new Dictionary(routeValues, StringComparer.OrdinalIgnoreCase); + Dictionary caseInsensitiveRouteValues = new Dictionary(routeValues, StringComparer.OrdinalIgnoreCase); for (int i = 0; i < routeTemplate.Length; i++) { @@ -71,7 +71,7 @@ public static String ReplaceRouteValues( } Object paramValue; - if (caseIncensitiveRouteValues.TryGetValue(paramName, out paramValue)) + if (caseInsensitiveRouteValues.TryGetValue(paramName, out paramValue)) { if (paramValue != null) { @@ -148,7 +148,7 @@ public static String ReplaceRouteValues( foreach (String paramName in unusedValues) { Object paramValue; - if (caseIncensitiveRouteValues.TryGetValue(paramName, out paramValue) && paramValue != null) + if (caseInsensitiveRouteValues.TryGetValue(paramName, out paramValue) && paramValue != null) { sbResult.Append(isFirst ? '?' : '&'); isFirst = false; From e638f91b88ce8f0f19b26c5cd81331c297f9ad6d Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:03:41 -0500 Subject: [PATCH 096/184] spelling: internals visible to Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Contracts/Identity/Identity.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Contracts/Identity/Identity.cs b/src/Sdk/WebApi/WebApi/Contracts/Identity/Identity.cs index eb9b896ada8..9f8ac734278 100644 --- a/src/Sdk/WebApi/WebApi/Contracts/Identity/Identity.cs +++ b/src/Sdk/WebApi/WebApi/Contracts/Identity/Identity.cs @@ -14,7 +14,7 @@ namespace GitHub.Services.Identity { //The only PATCH-able property on this class is CustomDisplayName, however there are more read/write properties - //because they get set by various providers in the Framework dll, in general Framework should not have internalsvisibleto to this dll + //because they get set by various providers in the Framework dll, in general Framework should not have internals visible to to this dll //CONSIDER: Should providers be in GitHub.Services.Identity instead? [DataContract] public sealed class Identity : IdentityBase, ISecuredObject From afc8634a5a662ce0bcd7b2da6d71500f3fa467d3 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:53:35 -0500 Subject: [PATCH 097/184] spelling: interrupt Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/SecretUtility.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/SecretUtility.cs b/src/Sdk/Common/Common/Utility/SecretUtility.cs index ff153235be2..f510edba9f2 100644 --- a/src/Sdk/Common/Common/Utility/SecretUtility.cs +++ b/src/Sdk/Common/Common/Utility/SecretUtility.cs @@ -209,7 +209,7 @@ private static string ScrubSecret(string message, string token, string mask, boo catch (Exception /*exception*/) { // With an exception here the message may still contain an unmasked password. - // We also do not want to interupt the current thread with this exception, because it may be constructing a message + // We also do not want to interrupt the current thread with this exception, because it may be constructing a message // for a different exception. Trace this exception and continue on using a generic exception message. //TeamFoundationTracingService.TraceExceptionRaw(99231, s_area, s_layer, exception); } From 3b6e50b9c4f064138e5916a270ef02885acdb4aa Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:57:11 -0500 Subject: [PATCH 098/184] spelling: javascript Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1144-composite-actions.md | 2 +- .../Expressions2/EvaluationResult.cs | 22 +++++++++---------- .../Expressions2/Sdk/ExpressionUtility.cs | 4 ++-- src/Sdk/Expressions/EvaluationResult.cs | 22 +++++++++---------- src/Sdk/Expressions/Sdk/ExpressionUtility.cs | 4 ++-- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/docs/adrs/1144-composite-actions.md b/docs/adrs/1144-composite-actions.md index 2e1c30461ab..791be6ddc21 100644 --- a/docs/adrs/1144-composite-actions.md +++ b/docs/adrs/1144-composite-actions.md @@ -8,7 +8,7 @@ We released [composite run steps](https://github.com/actions/runner/pull/554) la We want to support the `uses` steps from workflows in composite actions, including: - Container actions - - Javascript actions + - JavaScript actions - Other Composite actions (up to a limit of course!) - The pre and post steps these actions can generate diff --git a/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs b/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs index 5ac1a61b43f..b6318e240ae 100644 --- a/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs +++ b/src/Sdk/DTExpressions2/Expressions2/EvaluationResult.cs @@ -75,7 +75,7 @@ public Boolean IsFalsy public Boolean IsTruthy => !IsFalsy; /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractEqual(EvaluationResult right) @@ -84,7 +84,7 @@ public Boolean AbstractEqual(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractGreaterThan(EvaluationResult right) @@ -93,7 +93,7 @@ public Boolean AbstractGreaterThan(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractGreaterThanOrEqual(EvaluationResult right) @@ -102,7 +102,7 @@ public Boolean AbstractGreaterThanOrEqual(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractLessThan(EvaluationResult right) @@ -111,7 +111,7 @@ public Boolean AbstractLessThan(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractLessThanOrEqual(EvaluationResult right) @@ -120,7 +120,7 @@ public Boolean AbstractLessThanOrEqual(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractNotEqual(EvaluationResult right) @@ -221,7 +221,7 @@ private void TraceVerbose( } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// private static Boolean AbstractEqual( @@ -272,7 +272,7 @@ private static Boolean AbstractEqual( } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// private static Boolean AbstractGreaterThan( @@ -314,7 +314,7 @@ private static Boolean AbstractGreaterThan( } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// private static Boolean AbstractLessThan( @@ -355,7 +355,7 @@ private static Boolean AbstractLessThan( return false; } - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except objects are not coerced to primitives. private static void CoerceTypes( ref Object canonicalLeftValue, @@ -397,7 +397,7 @@ private static void CoerceTypes( } /// - /// For primitives, follows the Javascript rules (the Number function in Javascript). Otherwise NaN. + /// For primitives, follows the JavaScript rules (the Number function in JavaScript). Otherwise NaN. /// private static Double ConvertToNumber(Object canonicalValue) { diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionUtility.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionUtility.cs index f4a3d68d5e2..627a64e8d0f 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionUtility.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/ExpressionUtility.cs @@ -187,8 +187,8 @@ internal static Boolean IsPrimitive(ValueKind kind) } /// - /// The rules here attempt to follow Javascript rules for coercing a string into a number - /// for comparison. That is, the Number() function in Javascript. + /// The rules here attempt to follow JavaScript rules for coercing a string into a number + /// for comparison. That is, the Number() function in JavaScript. /// internal static Double ParseNumber(String str) { diff --git a/src/Sdk/Expressions/EvaluationResult.cs b/src/Sdk/Expressions/EvaluationResult.cs index 9c17f2c6c15..59d52eaedf2 100644 --- a/src/Sdk/Expressions/EvaluationResult.cs +++ b/src/Sdk/Expressions/EvaluationResult.cs @@ -76,7 +76,7 @@ public Boolean IsFalsy public Boolean IsTruthy => !IsFalsy; /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractEqual(EvaluationResult right) @@ -85,7 +85,7 @@ public Boolean AbstractEqual(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractGreaterThan(EvaluationResult right) @@ -94,7 +94,7 @@ public Boolean AbstractGreaterThan(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractGreaterThanOrEqual(EvaluationResult right) @@ -103,7 +103,7 @@ public Boolean AbstractGreaterThanOrEqual(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractLessThan(EvaluationResult right) @@ -112,7 +112,7 @@ public Boolean AbstractLessThan(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractLessThanOrEqual(EvaluationResult right) @@ -121,7 +121,7 @@ public Boolean AbstractLessThanOrEqual(EvaluationResult right) } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// public Boolean AbstractNotEqual(EvaluationResult right) @@ -227,7 +227,7 @@ private void TraceVerbose( } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// private static Boolean AbstractEqual( @@ -278,7 +278,7 @@ private static Boolean AbstractEqual( } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// private static Boolean AbstractGreaterThan( @@ -320,7 +320,7 @@ private static Boolean AbstractGreaterThan( } /// - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except string comparison is OrdinalIgnoreCase, and objects are not coerced to primitives. /// private static Boolean AbstractLessThan( @@ -361,7 +361,7 @@ private static Boolean AbstractLessThan( return false; } - /// Similar to the Javascript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. + /// Similar to the JavaScript abstract equality comparison algorithm http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3. /// Except objects are not coerced to primitives. private static void CoerceTypes( ref Object canonicalLeftValue, @@ -403,7 +403,7 @@ private static void CoerceTypes( } /// - /// For primitives, follows the Javascript rules (the Number function in Javascript). Otherwise NaN. + /// For primitives, follows the JavaScript rules (the Number function in JavaScript). Otherwise NaN. /// private static Double ConvertToNumber(Object canonicalValue) { diff --git a/src/Sdk/Expressions/Sdk/ExpressionUtility.cs b/src/Sdk/Expressions/Sdk/ExpressionUtility.cs index 84faa9afb84..c13ea1d4f93 100644 --- a/src/Sdk/Expressions/Sdk/ExpressionUtility.cs +++ b/src/Sdk/Expressions/Sdk/ExpressionUtility.cs @@ -217,8 +217,8 @@ internal static Boolean IsPrimitive(ValueKind kind) } /// - /// The rules here attempt to follow Javascript rules for coercing a string into a number - /// for comparison. That is, the Number() function in Javascript. + /// The rules here attempt to follow JavaScript rules for coercing a string into a number + /// for comparison. That is, the Number() function in JavaScript. /// internal static Double ParseNumber(String str) { From 2aa1b4fa30ceb23b9bbfba558558e16ed89a16a8 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:10:06 -0500 Subject: [PATCH 099/184] spelling: job request Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index 173e36b0629..fa0eb070b27 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -259,8 +259,8 @@ private async Task EnsureDispatchFinished(WorkerDispatcher jobDispatch, bool can // based on the current design, server will only send one job for a given runner at a time. // if the runner received a new job request while a previous job request is still running, this typically indicates two situations - // 1. a runner bug caused a server and runner mismatch on the state of the job request, e.g. the runner didn't renew the jobrequest - // properly but thinks it still owns the job reqest, however the server has already abandoned the jobrequest. + // 1. a runner bug caused a server and runner mismatch on the state of the job request, e.g. the runner didn't renew the job request + // properly but thinks it still owns the job request, however the server has already abandoned the job request. // 2. a server bug or design change that allowed the server to send more than one job request to a given runner that hasn't finished //. a previous job request. var runnerServer = HostContext.GetService(); From af322552f48fabeb834fd98749f848db72ca544b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:54:16 -0500 Subject: [PATCH 100/184] spelling: junction Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Misc/layoutbin/update.cmd.template | 4 ++-- src/Misc/layoutbin/update.sh.template | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Misc/layoutbin/update.cmd.template b/src/Misc/layoutbin/update.cmd.template index daeef250d84..8fc1efc5dc3 100644 --- a/src/Misc/layoutbin/update.cmd.template +++ b/src/Misc/layoutbin/update.cmd.template @@ -50,9 +50,9 @@ rem ./bin.2.100.0 rem ./externals.2.100.0 rem ./bin.2.99.0 rem ./externals.2.99.0 -rem by using the juction folder we can avoid file in use problem. +rem by using the junction folder we can avoid file in use problem. -rem if the bin/externals junction point already exist, we just need to delete the juction point then re-create to point to new bin/externals folder. +rem if the bin/externals junction point already exist, we just need to delete the junction point then re-create to point to new bin/externals folder. rem if the bin/externals still are real folders, we need to rename the existing folder to bin.version format then create junction point to new bin/externals folder. rem check bin folder diff --git a/src/Misc/layoutbin/update.sh.template b/src/Misc/layoutbin/update.sh.template index 795db7f3c63..d2f2f40d5ce 100755 --- a/src/Misc/layoutbin/update.sh.template +++ b/src/Misc/layoutbin/update.sh.template @@ -45,9 +45,9 @@ date "+[%F %T-%4N] Sleep 1 more second to make sure process exited" >> "$logfile # ./externals.2.100.0 # ./bin.2.99.0 # ./externals.2.99.0 -# by using the juction folder we can avoid file in use problem. +# by using the junction folder we can avoid file in use problem. -# if the bin/externals junction point already exist, we just need to delete the juction point then re-create to point to new bin/externals folder. +# if the bin/externals junction point already exist, we just need to delete the junction point then re-create to point to new bin/externals folder. # if the bin/externals still are real folders, we need to rename the existing folder to bin.version format then create junction point to new bin/externals folder. # check bin folder From e7e6ea2e8cf5f33e92aac5b84f50c25f5bd2bfa1 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:05:24 -0500 Subject: [PATCH 101/184] spelling: locked until Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index fa0eb070b27..c00dd3de529 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -801,7 +801,7 @@ private async Task RenewJobRequestAsync(IRunServer runServer, Guid planId, Guid } else { - // retry till reach lockeduntil + 5 mins extra buffer. + // retry till reach locked until + 5 mins extra buffer. remainingTime = request.LockedUntil.Value + TimeSpan.FromMinutes(5) - DateTime.UtcNow; } From 0457fde0bd876c83cc75318e4dffc125ecc4f7e1 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:51:53 -0500 Subject: [PATCH 102/184] spelling: lowercase Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/ArrayUtility.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/ArrayUtility.cs b/src/Sdk/Common/Common/Utility/ArrayUtility.cs index 39745d273b3..0b4c5805dc4 100644 --- a/src/Sdk/Common/Common/Utility/ArrayUtility.cs +++ b/src/Sdk/Common/Common/Utility/ArrayUtility.cs @@ -117,7 +117,7 @@ public unsafe static bool Equals(byte[] a1, byte[] a2, int length) //**************************************************************************************** /// - /// Convert the byte array to a lower case hex string. + /// Convert the byte array to a lowercase hex string. /// /// byte array to be converted. /// hex string converted from byte array. From 68621d9f41abf90b7a5e2589e673d8197c97f8f9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:05:06 -0500 Subject: [PATCH 103/184] spelling: lt Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs index cce2f66e5b8..efceaa15162 100644 --- a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs +++ b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthTokenProvider.cs @@ -134,7 +134,7 @@ public async Task ValidateCredentialAsync(CancellationToken cancellation /// /// If applicable, the previous token which is now considered invalid /// A token used for signalling cancellation - /// A Task&lgt;IssuedToken> for tracking the progress of the token request + /// A Task<IssuedToken> for tracking the progress of the token request protected override async Task OnGetTokenAsync( IssuedToken failedToken, CancellationToken cancellationToken) From 636bbb6157e66f7993c433957161e6e57574b0bc Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:34:05 -0500 Subject: [PATCH 104/184] spelling: macos Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- scripts/create-latest-svc.sh | 2 +- src/Runner.Listener/Configuration/ConfigurationManager.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/create-latest-svc.sh b/scripts/create-latest-svc.sh index 74b5a278dc3..0646381abf1 100755 --- a/scripts/create-latest-svc.sh +++ b/scripts/create-latest-svc.sh @@ -110,7 +110,7 @@ fi sudo -u ${svc_user} mkdir runner # TODO: validate not in a container -# TODO: validate systemd or osx svc installer +# TODO: validate systemd or macOS svc installer #-------------------------------------- # Get a config token diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs index 8587e60ecc3..f0dba307579 100644 --- a/src/Runner.Listener/Configuration/ConfigurationManager.cs +++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs @@ -540,7 +540,7 @@ public async Task UnconfigureAsync(CommandSettings command) _term.WriteLine(); _term.WriteSuccessMessage("Runner service removed"); #else - // deconfigure systemd or osx service first + // deconfigure systemd or macOS service first throw new Exception("Uninstall service first"); #endif } From 95b4854b9f1560b9222b18c9c1f8660bf7313f2c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:07:32 -0500 Subject: [PATCH 105/184] spelling: media type Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/VssHttpClientBase.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs b/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs index d5a9c8b11f7..4f1e9ad3092 100644 --- a/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs +++ b/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs @@ -488,7 +488,7 @@ protected async Task SendAsync( /// Id of the location to use /// Values to use to replace parameters in the location's route template /// Version to send in the request or null to use the VSS latest API version - /// The mediatype to set in request header. + /// The media type to set in request header. /// HttpRequestMessage protected Task CreateRequestMessageAsync( HttpMethod method, @@ -512,7 +512,7 @@ protected Task CreateRequestMessageAsync( /// Id of the location to use /// Values to use to replace parameters in the location's route template /// Version to send in the request or null to use the VSS latest API version - /// The mediatype to set in request header. + /// The media type to set in request header. /// HttpRequestMessage protected virtual async Task CreateRequestMessageAsync( HttpMethod method, @@ -544,7 +544,7 @@ protected virtual async Task CreateRequestMessageAsync( /// API resource location /// Values to use to replace parameters in the location's route template /// Version to send in the request or null to use the VSS latest API version - /// The mediatype to set in request header. + /// The media type to set in request header. /// HttpRequestMessage protected HttpRequestMessage CreateRequestMessage( HttpMethod method, @@ -566,7 +566,7 @@ protected HttpRequestMessage CreateRequestMessage( /// API resource location /// Values to use to replace parameters in the location's route template /// Version to send in the request or null to use the VSS latest API version - /// The mediatype to set in request header. + /// The media type to set in request header. /// HttpRequestMessage protected HttpRequestMessage CreateRequestMessage( HttpMethod method, From 44d5621dc1e93e81a18411209c510f2b2cf2d1b3 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:55:00 -0500 Subject: [PATCH 106/184] spelling: message Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Listener/MessageListenerL0.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Test/L0/Listener/MessageListenerL0.cs b/src/Test/L0/Listener/MessageListenerL0.cs index 80792539be9..e39349ead78 100644 --- a/src/Test/L0/Listener/MessageListenerL0.cs +++ b/src/Test/L0/Listener/MessageListenerL0.cs @@ -254,13 +254,13 @@ public async Task GetNextMessageWithBrokerMigration() CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token); Assert.Equal(CreateSessionResult.Success, result); - var brokerMigrationMesage = new BrokerMigrationMessage(new Uri("https://actions.broker.com")); + var brokerMigrationMessage = new BrokerMigrationMessage(new Uri("https://actions.broker.com")); var arMessages = new TaskAgentMessage[] { new TaskAgentMessage { - Body = JsonUtility.ToString(brokerMigrationMesage), + Body = JsonUtility.ToString(brokerMigrationMessage), MessageType = BrokerMigrationMessage.MessageType }, }; @@ -328,7 +328,7 @@ public async Task GetNextMessageWithBrokerMigration() .Verify(x => x.LoadCredentials(true), Times.Exactly(brokerMessages.Length)); _brokerServer - .Verify(x => x.UpdateConnectionIfNeeded(brokerMigrationMesage.BrokerBaseUrl, It.IsAny()), Times.Exactly(brokerMessages.Length)); + .Verify(x => x.UpdateConnectionIfNeeded(brokerMigrationMessage.BrokerBaseUrl, It.IsAny()), Times.Exactly(brokerMessages.Length)); _brokerServer .Verify(x => x.ForceRefreshConnection(It.IsAny()), Times.Never); @@ -526,13 +526,13 @@ public async Task GetNextMessageWithBrokerMigration_AuthMigrationFallback() CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token); Assert.Equal(CreateSessionResult.Success, result); - var brokerMigrationMesage = new BrokerMigrationMessage(new Uri("https://actions.broker.com")); + var brokerMigrationMessage = new BrokerMigrationMessage(new Uri("https://actions.broker.com")); var arMessages = new TaskAgentMessage[] { new TaskAgentMessage { - Body = JsonUtility.ToString(brokerMigrationMesage), + Body = JsonUtility.ToString(brokerMigrationMessage), MessageType = BrokerMigrationMessage.MessageType }, }; @@ -607,7 +607,7 @@ public async Task GetNextMessageWithBrokerMigration_AuthMigrationFallback() .Verify(x => x.LoadCredentials(true), Times.Exactly(brokerMessages.Length + 1)); _brokerServer - .Verify(x => x.UpdateConnectionIfNeeded(brokerMigrationMesage.BrokerBaseUrl, It.IsAny()), Times.Exactly(brokerMessages.Length + 1)); + .Verify(x => x.UpdateConnectionIfNeeded(brokerMigrationMessage.BrokerBaseUrl, It.IsAny()), Times.Exactly(brokerMessages.Length + 1)); _brokerServer .Verify(x => x.ForceRefreshConnection(It.IsAny()), Times.Once()); @@ -650,13 +650,13 @@ public async Task GetNextMessageWithBrokerMigration_EnableAuthMigration() CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token); Assert.Equal(CreateSessionResult.Success, result); - var brokerMigrationMesage = new BrokerMigrationMessage(new Uri("https://actions.broker.com")); + var brokerMigrationMessage = new BrokerMigrationMessage(new Uri("https://actions.broker.com")); var arMessages = new TaskAgentMessage[] { new TaskAgentMessage { - Body = JsonUtility.ToString(brokerMigrationMesage), + Body = JsonUtility.ToString(brokerMigrationMessage), MessageType = BrokerMigrationMessage.MessageType }, }; @@ -729,7 +729,7 @@ public async Task GetNextMessageWithBrokerMigration_EnableAuthMigration() .Verify(x => x.LoadCredentials(true), Times.Exactly(brokerMessages.Length)); _brokerServer - .Verify(x => x.UpdateConnectionIfNeeded(brokerMigrationMesage.BrokerBaseUrl, It.IsAny()), Times.Exactly(brokerMessages.Length)); + .Verify(x => x.UpdateConnectionIfNeeded(brokerMigrationMessage.BrokerBaseUrl, It.IsAny()), Times.Exactly(brokerMessages.Length)); _brokerServer .Verify(x => x.ForceRefreshConnection(It.IsAny()), Times.Once()); From 59767e7ea8c10311c525ad692d916e284dbe55e7 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:08:10 -0500 Subject: [PATCH 107/184] spelling: navigable Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/UriUtility.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/UriUtility.cs b/src/Sdk/Common/Common/Utility/UriUtility.cs index a73fcf340c2..4ade8166a57 100644 --- a/src/Sdk/Common/Common/Utility/UriUtility.cs +++ b/src/Sdk/Common/Common/Utility/UriUtility.cs @@ -48,7 +48,7 @@ public static class UriUtility /// /// /// "x-mvwit" is here as it is used and saved to work item history rich HTML changes. It is used to reference other work - /// items in the list. If we remove it from this list, it will not be a navigatable link in e.g. Web Access. + /// items in the list. If we remove it from this list, it will not be a navigable link in e.g. Web Access. /// private static readonly ICollection SafeUriSchemeList = new HashSet(new string[] { "http", "https", "ftp", "gopher", "mailto", "news", "telnet", "wais", From ba9499109b9c9a89992b8ed1c35450822052772b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:57:53 -0500 Subject: [PATCH 108/184] spelling: necessarily Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs b/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs index d6cbafeba2a..40dad401478 100644 --- a/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs +++ b/src/Sdk/Common/Common/Utility/TypeExtensionMethods.cs @@ -220,7 +220,7 @@ public static void SetMemberValue(this Type type, string name, object obj, objec /// /// Portable compliant way to get a constructor with specified arguments. This will return a constructor that is public or private as long as the arguments match. NULL will be returned if there is no match. - /// Note that it will pick the first one it finds that matches, which is not necesarily the best match. + /// Note that it will pick the first one it finds that matches, which is not necessarily the best match. /// /// The Type that has the constructor /// The type of the arguments for the constructor. @@ -232,7 +232,7 @@ public static ConstructorInfo GetFirstMatchingConstructor(this Type type, params /// /// Portable compliant way to get a constructor with specified arguments from a prefiltered list. This will return a constructor that is public or private as long as the arguments match. NULL will be returned if there is no match. - /// Note that it will pick the first one it finds that matches, which is not necesarily the best match. + /// Note that it will pick the first one it finds that matches, which is not necessarily the best match. /// /// Prefiltered list of constructors /// The type of the arguments for the constructor. From b1933917620c96d9794052cd244c1b65f9338420 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:57:36 -0500 Subject: [PATCH 109/184] spelling: necessary Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs b/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs index 4abf5b0e0bf..cc0dbc6a574 100644 --- a/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs +++ b/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs @@ -45,7 +45,7 @@ public class VssJsonMediaTypeFormatter : JsonMediaTypeFormatter /// /// /// - /// This should typically be false. A true value will cause the wrapping to be skipped which is neccesary when creating ObjectContent from arrays on client to prepare a request + /// This should typically be false. A true value will cause the wrapping to be skipped which is necessary when creating ObjectContent from arrays on client to prepare a request public VssJsonMediaTypeFormatter(bool bypassSafeArrayWrapping = false) : this(bypassSafeArrayWrapping, false, false) { @@ -59,7 +59,7 @@ public VssJsonMediaTypeFormatter(bool bypassSafeArrayWrapping, bool enumsAsNumbe /// /// /// - /// This should typically be false. A true value will cause the wrapping to be skipped which is neccesary when creating ObjectContent from arrays on client to prepare a request + /// This should typically be false. A true value will cause the wrapping to be skipped which is necessary when creating ObjectContent from arrays on client to prepare a request public VssJsonMediaTypeFormatter(HttpRequestMessage request, bool bypassSafeArrayWrapping = false) { Request = request; From 7ac3e3097f0a546586dec75d8481b9a9059a4fc3 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:52:25 -0500 Subject: [PATCH 110/184] spelling: neither-nor Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Contracts/Graph/Constants.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/Contracts/Graph/Constants.cs b/src/Sdk/WebApi/WebApi/Contracts/Graph/Constants.cs index 45f20ecbd0d..3f835cf2d01 100644 --- a/src/Sdk/WebApi/WebApi/Contracts/Graph/Constants.cs +++ b/src/Sdk/WebApi/WebApi/Contracts/Graph/Constants.cs @@ -66,12 +66,12 @@ public static class SubjectType public const string AadUser = "aad"; [GenerateConstant] public const string MsaUser = "msa"; - public const string UnknownUser = "unusr"; // user with unknown type (not add nor msa) + public const string UnknownUser = "unusr"; // user with unknown type (neither add nor msa) [GenerateConstant] public const string AadGroup = "aadgp"; [GenerateConstant] public const string VstsGroup = "vssgp"; - public const string UnknownGroup = "ungrp"; // group with unknown type (not add nor vsts) + public const string UnknownGroup = "ungrp"; // group with unknown type (neither add nor vsts) [GenerateConstant] public const string BindPendingUser = "bnd"; public const string WindowsIdentity = "win"; From 345d91504b88df6aad62ddf03126797e3a247e3a Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:00:47 -0500 Subject: [PATCH 111/184] spelling: nonexistent Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../L0/Listener/Configuration/ConfigurationManagerL0.cs | 4 ++-- src/Test/L0/Listener/SelfUpdaterL0.cs | 2 +- src/Test/L0/Listener/SelfUpdaterV2L0.cs | 2 +- src/Test/L0/Worker/ActionManagerL0.cs | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs b/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs index b025c622227..5dd78615948 100644 --- a/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs +++ b/src/Test/L0/Listener/Configuration/ConfigurationManagerL0.cs @@ -332,7 +332,7 @@ public async Task ConfigureErrorOnMissingRunnerGroup() "configure", "--url", _expectedServerUrl, "--name", _expectedAgentName, - "--runnergroup", "notexists", + "--runnergroup", "nonexistent", "--work", _expectedWorkFolder, "--auth", _expectedAuthType, "--token", _expectedToken, @@ -344,7 +344,7 @@ public async Task ConfigureErrorOnMissingRunnerGroup() trace.Info("Ensuring all the required parameters are available in the command line parameter"); var ex = await Assert.ThrowsAsync(() => configManager.ConfigureAsync(command)); - Assert.Contains("notexists", ex.Message); + Assert.Contains("nonexistent", ex.Message); _runnerServer.Verify(x => x.GetAgentPoolsAsync(It.IsAny(), It.Is(p => p == TaskAgentPoolType.Automation)), Times.Exactly(1)); } diff --git a/src/Test/L0/Listener/SelfUpdaterL0.cs b/src/Test/L0/Listener/SelfUpdaterL0.cs index be095ce9093..838ee857810 100644 --- a/src/Test/L0/Listener/SelfUpdaterL0.cs +++ b/src/Test/L0/Listener/SelfUpdaterL0.cs @@ -207,7 +207,7 @@ public async void TestSelfUpdateAsync_DownloadRetry() hc.SetSingleton(new HttpClientHandlerFactory()); _runnerServer.Setup(x => x.GetPackageAsync("agent", BuildConstants.RunnerPackage.PackageName, "2.999.0", true, It.IsAny())) - .Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = $"https://github.com/actions/runner/notexists" })); + .Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = $"https://github.com/actions/runner/nonexistent" })); var p1 = new ProcessInvokerWrapper(); p1.Initialize(hc); diff --git a/src/Test/L0/Listener/SelfUpdaterV2L0.cs b/src/Test/L0/Listener/SelfUpdaterV2L0.cs index 5115a6bbb7f..9343b7f3ca1 100644 --- a/src/Test/L0/Listener/SelfUpdaterV2L0.cs +++ b/src/Test/L0/Listener/SelfUpdaterV2L0.cs @@ -167,7 +167,7 @@ public async void TestSelfUpdateAsync_DownloadRetry() { TargetVersion = "2.999.0", OS = BuildConstants.RunnerPackage.PackageName, - DownloadUrl = "https://github.com/actions/runner/notexists" + DownloadUrl = "https://github.com/actions/runner/nonexistent" }; var ex = await Assert.ThrowsAsync(() => updater.SelfUpdate(message, _jobDispatcher.Object, true, hc.RunnerShutdownToken)); diff --git a/src/Test/L0/Worker/ActionManagerL0.cs b/src/Test/L0/Worker/ActionManagerL0.cs index bc477931226..1683caeb938 100644 --- a/src/Test/L0/Worker/ActionManagerL0.cs +++ b/src/Test/L0/Worker/ActionManagerL0.cs @@ -415,11 +415,11 @@ public async void PrepareActions_AlwaysClearActionsCache() var actionId = Guid.NewGuid(); var actions = new List(); - var watermarkFile = Path.Combine(_hc.GetDirectory(WellKnownDirectory.Actions), "notexist/no", "notexist.completed"); + var watermarkFile = Path.Combine(_hc.GetDirectory(WellKnownDirectory.Actions), "nonexistent/no", "nonexistent.completed"); Directory.CreateDirectory(Path.GetDirectoryName(watermarkFile)); File.WriteAllText(watermarkFile, DateTime.UtcNow.ToString()); - Directory.CreateDirectory(Path.Combine(Path.GetDirectoryName(watermarkFile), "notexist")); - File.Copy(Path.Combine(TestUtil.GetSrcPath(), "Test", TestDataFolderName, "dockerfileaction.yml"), Path.Combine(Path.GetDirectoryName(watermarkFile), "notexist", "action.yml")); + Directory.CreateDirectory(Path.Combine(Path.GetDirectoryName(watermarkFile), "nonexistent")); + File.Copy(Path.Combine(TestUtil.GetSrcPath(), "Test", TestDataFolderName, "dockerfileaction.yml"), Path.Combine(Path.GetDirectoryName(watermarkFile), "nonexistent", "action.yml")); //Act await _actionManager.PrepareActionsAsync(_ec.Object, actions); From 451e9129d94eb533388f4fa83f8a393c4ae8d99a Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:06:07 -0500 Subject: [PATCH 112/184] spelling: not Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Handlers/ScriptHandler.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/Handlers/ScriptHandler.cs b/src/Runner.Worker/Handlers/ScriptHandler.cs index b898f051ded..1a43828e027 100644 --- a/src/Runner.Worker/Handlers/ScriptHandler.cs +++ b/src/Runner.Worker/Handlers/ScriptHandler.cs @@ -247,7 +247,7 @@ public async Task RunAsync(ActionRunStage stage) string scriptFilePath, resolvedScriptPath; if (IsActionStep) { - // We do not not the full path until we know what shell is being used, so that we can determine the file extension + // We do not the full path until we know what shell is being used, so that we can determine the file extension scriptFilePath = Path.Combine(tempDirectory, $"{Guid.NewGuid()}{ScriptHandlerHelpers.GetScriptFileExtension(shellCommand)}"); resolvedScriptPath = StepHost.ResolvePathForStepHost(ExecutionContext, scriptFilePath).Replace("\"", "\\\""); } From a467adb1123ec8b448587363353343ba3f25882b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:28:50 -0500 Subject: [PATCH 113/184] spelling: null check Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Handlers/StepHost.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/Handlers/StepHost.cs b/src/Runner.Worker/Handlers/StepHost.cs index 31aa4647d5a..52076fc0682 100644 --- a/src/Runner.Worker/Handlers/StepHost.cs +++ b/src/Runner.Worker/Handlers/StepHost.cs @@ -118,7 +118,7 @@ public string ResolvePathForStepHost(IExecutionContext executionContext, string ArgUtil.NotNull(Container, nameof(Container)); if (!FeatureManager.IsContainerHooksEnabled(executionContext.Global?.Variables)) { - // TODO: Remove nullcheck with executionContext.Global? by setting up ExecutionContext.Global at GitHub.Runner.Common.Tests.Worker.ExecutionContextL0.GetExpressionValues_ContainerStepHost + // TODO: Remove null check with executionContext.Global? by setting up ExecutionContext.Global at GitHub.Runner.Common.Tests.Worker.ExecutionContextL0.GetExpressionValues_ContainerStepHost ArgUtil.NotNullOrEmpty(Container.ContainerId, nameof(Container.ContainerId)); } From 219977c36683d7f2ebba9cfd933f3679115cb6eb Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:02:22 -0500 Subject: [PATCH 114/184] spelling: oauth Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/Listener/Configuration/RunnerCredentialL0.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Test/L0/Listener/Configuration/RunnerCredentialL0.cs b/src/Test/L0/Listener/Configuration/RunnerCredentialL0.cs index a2c5d0c20ba..335e0b82266 100644 --- a/src/Test/L0/Listener/Configuration/RunnerCredentialL0.cs +++ b/src/Test/L0/Listener/Configuration/RunnerCredentialL0.cs @@ -14,7 +14,7 @@ public class TestRunnerCredential : CredentialProvider public TestRunnerCredential() : base("TEST") { } public override VssCredentials GetVssCredentials(IHostContext context, bool allowAuthUrlV2) { - Tracing trace = context.GetTrace("OuthAccessToken"); + Tracing trace = context.GetTrace("OAuthAccessToken"); trace.Info("GetVssCredentials()"); var loginCred = new VssOAuthAccessTokenCredential("sometoken"); @@ -108,4 +108,4 @@ public void UseAuthV2Url() } } } -} \ No newline at end of file +} From 55a9f0362651e8f9a8fbf1fb3140920f6243b090 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:01:32 -0500 Subject: [PATCH 115/184] spelling: occurred Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Program.cs b/src/Runner.Listener/Program.cs index 80852d32c4d..ae362cc9801 100644 --- a/src/Runner.Listener/Program.cs +++ b/src/Runner.Listener/Program.cs @@ -141,7 +141,7 @@ private async static Task MainAsync(IHostContext context, string[] args) } catch (AccessDeniedException e) when (e.ErrorCode == 1) { - terminal.WriteError($"An error occured: {e.Message}"); + terminal.WriteError($"An error occurred: {e.Message}"); trace.Error(e); return Constants.Runner.ReturnCode.TerminatedError; } From b2da26d00ca6f6bde7f1b154251c73be3ffdd54d Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 07:56:14 -0500 Subject: [PATCH 116/184] spelling: one Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs | 2 +- src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs b/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs index 12fdf1f8ebb..2c97721a3d8 100644 --- a/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs +++ b/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs @@ -351,7 +351,7 @@ public async Task GetSourceAsync( } // fetch lfs object upfront, this will avoid fetch lfs object during checkout which cause checkout taking forever - // since checkout will fetch lfs object 1 at a time, while git lfs fetch will fetch lfs object in parallel. + // since checkout will fetch lfs object one at a time, while git lfs fetch will fetch lfs object in parallel. if (gitLfsSupport) { int exitCode_lfsFetch = await gitCommandManager.GitLFSFetch(executionContext, targetPath, "origin", sourcesToBuild, string.Join(" ", additionalLfsFetchArgs), cancellationToken); diff --git a/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs b/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs index bf96290e630..c2bc376da59 100644 --- a/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs +++ b/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs @@ -334,7 +334,7 @@ public async Task GetSourceAsync( } // fetch lfs object upfront, this will avoid fetch lfs object during checkout which cause checkout taking forever - // since checkout will fetch lfs object 1 at a time, while git lfs fetch will fetch lfs object in parallel. + // since checkout will fetch lfs object one at a time, while git lfs fetch will fetch lfs object in parallel. if (gitLfsSupport) { int exitCode_lfsFetch = await gitCommandManager.GitLFSFetch(executionContext, targetPath, "origin", sourcesToBuild, string.Join(" ", additionalLfsFetchArgs), cancellationToken); From 64f8468b2dc7515e8d6d1e8e3ae6f715fe623c1f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:57:32 -0500 Subject: [PATCH 117/184] spelling: optimize Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Runner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs index 2807dc45b7e..553178fe9db 100644 --- a/src/Runner.Listener/Runner.cs +++ b/src/Runner.Listener/Runner.cs @@ -190,7 +190,7 @@ public async Task ExecuteCommand(CommandSettings command) // warmup runner process (JIT/CLR) // In scenarios where the runner is single use (used and then thrown away), the system provisioning the runner can call `Runner.Listener --warmup` before the machine is made available to the pool for use. - // this will optimizes the runner process startup time. + // this will optimize the runner process startup time. if (command.Warmup) { var binDir = HostContext.GetDirectory(WellKnownDirectory.Bin); From 332ea5d6bb62b9fa84b4240a3a63a1704da5e1a6 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:01:49 -0500 Subject: [PATCH 118/184] spelling: optionally Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Attributes.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/Attributes.cs b/src/Sdk/WebApi/WebApi/Attributes.cs index c484852ce87..99329f34041 100644 --- a/src/Sdk/WebApi/WebApi/Attributes.cs +++ b/src/Sdk/WebApi/WebApi/Attributes.cs @@ -40,7 +40,7 @@ public ClientIncludeModelAttribute(RestClientLanguages languages) /// /// Marks a class, method or property for internal use only. This attribute ensures the item /// does not show up in public documentation, adds EditorBrowsableState.Never in C# clients - /// to hide the item, and optionaly adds @internal in TypeScript clients which removes the + /// to hide the item, and optionally adds @internal in TypeScript clients which removes the /// item from the TypeScript declare (d.ts) file. This does not exempt this API from the /// formal REST Api review process. Our internal APIs must meet the same standards and /// guidelines as our public APIs. @@ -51,7 +51,7 @@ public sealed class ClientInternalUseOnlyAttribute : Attribute /// /// Marks a class, method or property for internal use only. This attribute ensures the item /// does not show up in public documentation, adds EditorBrowsableState.Never in C# clients - /// to hide the item, and optionaly adds @internal in TypeScript clients which removes the + /// to hide the item, and optionally adds @internal in TypeScript clients which removes the /// item from the TypeScript declare (d.ts) file. This does not exempt this API from the /// formal REST Api review process. Our internal APIs must meet the same standards and /// guidelines as our public APIs. From c2b353babf4277ae9e239d83d3c361553aed80f1 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:02:05 -0500 Subject: [PATCH 119/184] spelling: otherwise Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs index 104112c7981..afcf5c4a06e 100644 --- a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs +++ b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs @@ -220,7 +220,7 @@ internal static string ClientSettingsDirectory /// GetFolderPath throw) /// /// Folder to retrieve - /// Path if available, null othewise + /// Path if available, null otherwise private static string SafeGetFolderPath(Environment.SpecialFolder specialFolder) { try From d40a9941b4f4a390dacf40cd520377dfc0cc5ba5 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:57:39 -0500 Subject: [PATCH 120/184] spelling: out-of-date Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/JobRunner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/JobRunner.cs b/src/Runner.Worker/JobRunner.cs index 72ee5a403ad..c177ac6830b 100644 --- a/src/Runner.Worker/JobRunner.cs +++ b/src/Runner.Worker/JobRunner.cs @@ -528,7 +528,7 @@ private async Task WarningOutdatedRunnerAsync(IExecutionContext jobContext, Pipe if (result == TaskResult.Failed && warnOnFailedJob) { - jobContext.Warning($"This job failure may be caused by using an out of date version of GitHub runner on your self-hosted runner. You are currently using GitHub runner version {currentVersion}. Please update to the latest version {serverPackages[0].Version}"); + jobContext.Warning($"This job failure may be caused by using an out-of-date version of GitHub runner on your self-hosted runner. You are currently using GitHub runner version {currentVersion}. Please update to the latest version {serverPackages[0].Version}"); } else if (warnOnOldRunnerVersion) { From 0a235de5e7c73e62572725c7ff0a24c05d7655cf Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:02:41 -0500 Subject: [PATCH 121/184] spelling: overridden Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs b/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs index 407860e2a1c..36d26c6592d 100644 --- a/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs +++ b/src/Sdk/Common/Common/Authentication/IssuedTokenProvider.cs @@ -294,7 +294,7 @@ protected virtual Task OnGetTokenAsync( } /// - /// Invoked when the current token is being validated. When overriden in a derived class, + /// Invoked when the current token is being validated. When overridden in a derived class, /// validate and return the validated token. /// /// Is called inside a lock in ValidateToken From f05682baf5501a2a1a1f609245f947e664fd621b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:03:04 -0500 Subject: [PATCH 122/184] spelling: parameter Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs | 2 +- src/Sdk/Expressions/Sdk/ResultMemory.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs index e641de2568e..e1195ac2554 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/ResultMemory.cs @@ -39,7 +39,7 @@ public class ResultMemory /// For , this value is currently ignored. /// /// - /// For example, consider a function jsonParse() which takes a string paramter, + /// For example, consider a function jsonParse() which takes a string parameter, /// and returns a JToken object. The JToken object is newly created and a rough /// measurement should be returned for the amount of bytes it consumes in memory. /// Set the to true, since new object contains no references diff --git a/src/Sdk/Expressions/Sdk/ResultMemory.cs b/src/Sdk/Expressions/Sdk/ResultMemory.cs index b9a27ed9d64..443047b7f8a 100644 --- a/src/Sdk/Expressions/Sdk/ResultMemory.cs +++ b/src/Sdk/Expressions/Sdk/ResultMemory.cs @@ -37,7 +37,7 @@ public class ResultMemory /// For , this value is currently ignored. /// /// - /// For example, consider a function jsonParse() which takes a string paramter, + /// For example, consider a function jsonParse() which takes a string parameter, /// and returns a JToken object. The JToken object is newly created and a rough /// measurement should be returned for the amount of bytes it consumes in memory. /// Set the to true, since new object contains no references From 548c05e3e35043c37367a35c1e7ddd938b6b421f Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:02:54 -0500 Subject: [PATCH 123/184] spelling: parameters Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/VssConnection.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/VssConnection.cs b/src/Sdk/WebApi/WebApi/VssConnection.cs index 38bfad8c766..b285585f7b4 100644 --- a/src/Sdk/WebApi/WebApi/VssConnection.cs +++ b/src/Sdk/WebApi/WebApi/VssConnection.cs @@ -120,7 +120,7 @@ public Task ConnectAsync( IVssCredentialPrompts credentialPrompts = Credentials.Federated.Prompt as IVssCredentialPrompts; if (credentialPrompts != null && credentialPrompts.FederatedPrompt != null) { - // IVssCredentialPrompts contains an inner federatedPrompt, then set the paramaters on the inner one + // IVssCredentialPrompts contains an inner federatedPrompt, then set the parameters on the inner one promptToSetParametersOn = credentialPrompts.FederatedPrompt; } else From 19138401ca771a1db97e112b9f135bb5ea467d0b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:04:15 -0500 Subject: [PATCH 124/184] spelling: permission Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs index 7639795f537..9bfbb751c1f 100644 --- a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs +++ b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs @@ -846,7 +846,7 @@ public void GrantDirectoryPermissionForAccount(string accountName, IList Trace.Info(StringUtil.Format("Trying to add userName {0} to the group {1}", accountName, groupName)); AddMemberToLocalGroup(accountName, groupName); - // grant permssion for folders + // grant permission for folders foreach(var folder in folders) { if (Directory.Exists(folder)) From ae6fcfa6f115a3d73add0f36c0316c219b240a53 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:04:00 -0500 Subject: [PATCH 125/184] spelling: platform Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs index afcf5c4a06e..29d8853dd10 100644 --- a/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs +++ b/src/Sdk/Common/Common/ClientStorage/VssFileStorage.cs @@ -138,7 +138,7 @@ public static IVssClientStorage GetVssLocalFileStorage(string fullPath, char pat } #if DEBUG - Debug.Assert(fullPath.Equals(storage.m_filePath), string.Format("The same storage file is being referenced with different casing. This will cause issues when running in cross patform environments where the file system may be case-sensitive. {0} != {1}", storage.m_filePath, normalizedFullPath)); + Debug.Assert(fullPath.Equals(storage.m_filePath), string.Format("The same storage file is being referenced with different casing. This will cause issues when running in cross platform environments where the file system may be case-sensitive. {0} != {1}", storage.m_filePath, normalizedFullPath)); #endif return storage; } From 3e24e08c26385c6521276bdea407e715c77c54c6 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:04:29 -0500 Subject: [PATCH 126/184] spelling: position Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/StreamParser.cs | 14 +++++++------- .../WebApi/HttpClients/FileContainerHttpClient.cs | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Sdk/Common/Common/Utility/StreamParser.cs b/src/Sdk/Common/Common/Utility/StreamParser.cs index 1f2dd613d9c..1a8027dcdf0 100644 --- a/src/Sdk/Common/Common/Utility/StreamParser.cs +++ b/src/Sdk/Common/Common/Utility/StreamParser.cs @@ -60,7 +60,7 @@ public override bool CanRead { get { - return m_stream.CanRead && m_stream.Position <= this.EndingPostionOnOuterStream; + return m_stream.CanRead && m_stream.Position <= this.EndingPositionOnOuterStream; } } @@ -105,9 +105,9 @@ public override long Position } /// - /// Postion in larger stream where this substream starts + /// Position in larger stream where this substream starts /// - public long StartingPostionOnOuterStream + public long StartingPositionOnOuterStream { get { @@ -116,9 +116,9 @@ public long StartingPostionOnOuterStream } /// - /// Postion in larger stream where this substream ends + /// Position in larger stream where this substream ends /// - public long EndingPostionOnOuterStream + public long EndingPositionOnOuterStream { get { @@ -150,9 +150,9 @@ public override long Seek(long offset, SeekOrigin origin) } else if (origin == SeekOrigin.End && 0 >= offset && offset > -m_length) { - return m_stream.Seek(offset - ((m_stream.Length - 1) - this.EndingPostionOnOuterStream), origin); + return m_stream.Seek(offset - ((m_stream.Length - 1) - this.EndingPositionOnOuterStream), origin); } - else if (origin == SeekOrigin.Current && (offset + m_stream.Position) >= this.StartingPostionOnOuterStream && (offset + m_stream.Position) < this.EndingPostionOnOuterStream) + else if (origin == SeekOrigin.Current && (offset + m_stream.Position) >= this.StartingPositionOnOuterStream && (offset + m_stream.Position) < this.EndingPositionOnOuterStream) { return m_stream.Seek(offset, origin); } diff --git a/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs b/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs index ee0eede0e15..c90b19dbec8 100644 --- a/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs +++ b/src/Sdk/WebApi/WebApi/HttpClients/FileContainerHttpClient.cs @@ -303,8 +303,8 @@ public async Task UploadFileAsync( HttpContent byteArrayContent = new ByteArrayContent(dataToSend, 0, bytesToCopy); byteArrayContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream"); byteArrayContent.Headers.ContentLength = currentStream.Length; - byteArrayContent.Headers.ContentRange = new System.Net.Http.Headers.ContentRangeHeaderValue(currentStream.StartingPostionOnOuterStream, - currentStream.EndingPostionOnOuterStream, + byteArrayContent.Headers.ContentRange = new System.Net.Http.Headers.ContentRangeHeaderValue(currentStream.StartingPositionOnOuterStream, + currentStream.EndingPositionOnOuterStream, streamParser.Length); FileUploadTrace(itemPath, $"Generate new HttpRequest for uploading file '{itemPath}', chunk '{currentChunk}' of '{totalChunks}'."); From 1bb26449f336ad7f6a6d0f31a5386ec5303a7199 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:09:21 -0500 Subject: [PATCH 127/184] spelling: post job Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/JobExtension.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/JobExtension.cs b/src/Runner.Worker/JobExtension.cs index ea36034ecb0..39051c08e69 100644 --- a/src/Runner.Worker/JobExtension.cs +++ b/src/Runner.Worker/JobExtension.cs @@ -410,7 +410,7 @@ public async Task> InitializeJob(IExecutionContext jobContext, Pipel // Check that that runner is capable of taking a snapshot snapshotOperationProvider.RunSnapshotPreflightChecks(context); - // Add postjob step to write snapshot file + // Add post job step to write snapshot file jobContext.RegisterPostJobStep(new JobExtensionRunner( runAsync: (executionContext, _) => snapshotOperationProvider.CreateSnapshotRequestAsync(executionContext, snapshotRequest), condition: snapshotRequest.Condition, From 47ff698da76c5b629265eaebb55f2b1dbf69053c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:38:25 -0500 Subject: [PATCH 128/184] spelling: prompt Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Authentication/VssCredentials.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sdk/Common/Common/Authentication/VssCredentials.cs b/src/Sdk/Common/Common/Authentication/VssCredentials.cs index 6e642a3c2be..d348e303f83 100644 --- a/src/Sdk/Common/Common/Authentication/VssCredentials.cs +++ b/src/Sdk/Common/Common/Authentication/VssCredentials.cs @@ -71,7 +71,7 @@ public VssCredentials(FederatedCredential federatedCredential) /// credential. /// /// The federated credential to use for authentication - /// CredentialPromptType.PromptIfNeeded if interactive prompts are allowed, otherwise CredentialProptType.DoNotPrompt + /// CredentialPromptType.PromptIfNeeded if interactive prompts are allowed, otherwise CredentialPromptType.DoNotPrompt public VssCredentials( FederatedCredential federatedCredential, CredentialPromptType promptType) @@ -84,7 +84,7 @@ public VssCredentials( /// credential. /// /// The federated credential to use for authentication - /// CredentialPromptType.PromptIfNeeded if interactive prompts are allowed; otherwise, CredentialProptType.DoNotPrompt + /// CredentialPromptType.PromptIfNeeded if interactive prompts are allowed; otherwise, CredentialPromptType.DoNotPrompt /// An optional TaskScheduler to ensure credentials prompting occurs on the UI thread public VssCredentials( FederatedCredential federatedCredential, @@ -99,7 +99,7 @@ public VssCredentials( /// credential. /// /// The federated credential to use for authentication - /// CredentialPromptType.PromptIfNeeded if interactive prompts are allowed; otherwise, CredentialProptType.DoNotPrompt + /// CredentialPromptType.PromptIfNeeded if interactive prompts are allowed; otherwise, CredentialPromptType.DoNotPrompt /// An optional TaskScheduler to ensure credentials prompting occurs on the UI thread /// An optional IVssCredentialPrompt to perform prompting for credentials public VssCredentials( From 7b9bf74b96aa785ea32c4ef32b73afe9fa4d5cd4 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:08:15 -0500 Subject: [PATCH 129/184] spelling: property Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/PropertyValidation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/PropertyValidation.cs b/src/Sdk/Common/Common/Utility/PropertyValidation.cs index e56222a7eec..9fffd64660d 100644 --- a/src/Sdk/Common/Common/Utility/PropertyValidation.cs +++ b/src/Sdk/Common/Common/Utility/PropertyValidation.cs @@ -278,7 +278,7 @@ public static void CheckPropertyLength(String propertyValue, Boolean allowNull, } /// - /// Verify that a propery is within the bounds of the specified range. + /// Verify that a property is within the bounds of the specified range. /// /// The property value /// The minimum value allowed From 647be07d9773e99462d2f5033f17cbdfc62c3098 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:08:47 -0500 Subject: [PATCH 130/184] spelling: quarter Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/DotnetsdkDownloadScriptL0.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Test/L0/DotnetsdkDownloadScriptL0.cs b/src/Test/L0/DotnetsdkDownloadScriptL0.cs index 9d3fbd26c69..b83aa07af6b 100644 --- a/src/Test/L0/DotnetsdkDownloadScriptL0.cs +++ b/src/Test/L0/DotnetsdkDownloadScriptL0.cs @@ -15,7 +15,7 @@ public async Task EnsureDotnetsdkBashDownloadScriptUpToDate() { if ((DateTime.UtcNow.Month - 1) % 3 != 0) { - // Only check these script once a quater. + // Only check these script once a quarter. return; } @@ -45,7 +45,7 @@ public async Task EnsureDotnetsdkPowershellDownloadScriptUpToDate() { if ((DateTime.UtcNow.Month - 1) % 3 != 0) { - // Only check these script once a quater. + // Only check these script once a quarter. return; } From 20216aee3d57a60dca8c4465bdc558613f5baf6b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:08:58 -0500 Subject: [PATCH 131/184] spelling: questions Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/checks/actions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/checks/actions.md b/docs/checks/actions.md index bdf3abfc1c8..9e90c5fb8be 100644 --- a/docs/checks/actions.md +++ b/docs/checks/actions.md @@ -80,4 +80,4 @@ Make sure the runner has access to actions service for GitHub.com or GitHub Ente ## Still not working? -Contact [GitHub Support](https://support.github.com) if you have further questuons, or log an issue at https://github.com/actions/runner if you think it's a runner issue. +Contact [GitHub Support](https://support.github.com) if you have further questions, or log an issue at https://github.com/actions/runner if you think it's a runner issue. From 0c3b4a5bf8ed474236f350f20d73a8cb65440fcc Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:14:53 -0500 Subject: [PATCH 132/184] spelling: range of Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Contracts/Patch/RemovePatchOperation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Contracts/Patch/RemovePatchOperation.cs b/src/Sdk/WebApi/WebApi/Contracts/Patch/RemovePatchOperation.cs index 051613176b7..eacecb0dc31 100644 --- a/src/Sdk/WebApi/WebApi/Contracts/Patch/RemovePatchOperation.cs +++ b/src/Sdk/WebApi/WebApi/Contracts/Patch/RemovePatchOperation.cs @@ -61,7 +61,7 @@ public override void Apply(TModel target) } else { - // We can't remove outside the rangeof the list. + // We can't remove outside the range of the list. throw new PatchOperationFailedException(PatchResources.IndexOutOfRange(this.Path)); } } From fff16c0df0ca58ea842aa1af7dbf19f31bf2ced6 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:09:16 -0500 Subject: [PATCH 133/184] spelling: received Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTWebApi/WebApi/TaskAgentJobRequest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/DTWebApi/WebApi/TaskAgentJobRequest.cs b/src/Sdk/DTWebApi/WebApi/TaskAgentJobRequest.cs index 67318d11ca5..437a536e31b 100644 --- a/src/Sdk/DTWebApi/WebApi/TaskAgentJobRequest.cs +++ b/src/Sdk/DTWebApi/WebApi/TaskAgentJobRequest.cs @@ -103,7 +103,7 @@ public DateTime? AssignTime } /// - /// The date/time this request was receieved by an agent. + /// The date/time this request was received by an agent. /// /// [DataMember(Order = 5, EmitDefaultValue = false)] From 32bb57764274e76ce7adab30af682629c7ba853a Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:58:32 -0500 Subject: [PATCH 134/184] spelling: red hat Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/checks/sslcert.md | 2 +- src/Misc/layoutbin/systemd.svc.sh.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/checks/sslcert.md b/docs/checks/sslcert.md index d1edc4deb3a..89c1628cbe9 100644 --- a/docs/checks/sslcert.md +++ b/docs/checks/sslcert.md @@ -38,7 +38,7 @@ To let the runner trusts your CA certificate, you will need to: - Windows: https://docs.microsoft.com/en-us/skype-sdk/sdn/articles/installing-the-trusted-root-certificate - macOS: ![trust ca cert](./../res/macOStrustCA.gif) - Linux: Refer to the distribution documentation - 1. RedHat: https://www.redhat.com/sysadmin/ca-certificates-cli + 1. Red Hat: https://www.redhat.com/sysadmin/ca-certificates-cli 2. Ubuntu: http://manpages.ubuntu.com/manpages/focal/man8/update-ca-certificates.8.html 3. Google search: "trust ca certificate on [linux distribution]" 4. If all approaches failed, set environment variable `SSL_CERT_FILE` to the CA bundle `.pem` file we get. diff --git a/src/Misc/layoutbin/systemd.svc.sh.template b/src/Misc/layoutbin/systemd.svc.sh.template index 84298542937..a445562fc36 100644 --- a/src/Misc/layoutbin/systemd.svc.sh.template +++ b/src/Misc/layoutbin/systemd.svc.sh.template @@ -74,7 +74,7 @@ function install() sed "s/{{User}}/${run_as_user}/g; s/{{Description}}/$(echo ${SVC_DESCRIPTION} | sed -e 's/[\/&]/\\&/g')/g; s/{{RunnerRoot}}/$(echo ${RUNNER_ROOT} | sed -e 's/[\/&]/\\&/g')/g;" "${TEMPLATE_PATH}" > "${TEMP_PATH}" || failed "failed to create replacement temp file" mv "${TEMP_PATH}" "${UNIT_PATH}" || failed "failed to copy unit file" - # Recent Fedora based Linux (CentOS/Redhat) has SELinux enabled by default + # Recent Fedora based Linux (CentOS/Red Hat) has SELinux enabled by default # We need to restore security context on the unit file we added otherwise SystemD have no access to it. command -v getenforce > /dev/null if [ $? -eq 0 ] From a118994f9fea1c88dc1abd966814c4e4023aa9a5 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:09:26 -0500 Subject: [PATCH 135/184] spelling: represents Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/OAuth/VssOAuthCredential.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthCredential.cs b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthCredential.cs index 78cf4fc9fa4..9e1013bdef4 100644 --- a/src/Sdk/WebApi/WebApi/OAuth/VssOAuthCredential.cs +++ b/src/Sdk/WebApi/WebApi/OAuth/VssOAuthCredential.cs @@ -97,7 +97,7 @@ public VssOAuthTokenParameters TokenParameters } /// - /// Determines whether or not the response reperesents an authentication challenge for the current credential. + /// Determines whether or not the response represents an authentication challenge for the current credential. /// /// The response to analyze /// True if the web response indicates an authorization challenge; otherwise, false From 1ce8823ef1dae563061fda9af607ccb3003d7cc3 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:10:20 -0500 Subject: [PATCH 136/184] spelling: requests Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/VssHttpRequestSettings.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/VssHttpRequestSettings.cs b/src/Sdk/Common/Common/VssHttpRequestSettings.cs index 7279d28093f..095f6853ea4 100644 --- a/src/Sdk/Common/Common/VssHttpRequestSettings.cs +++ b/src/Sdk/Common/Common/VssHttpRequestSettings.cs @@ -123,7 +123,7 @@ public Boolean CompressionEnabled /// /// Gets or sets a value indicating whether or not the Expect: 100-continue header should be sent on - /// outgoing requess. The default value is true. + /// outgoing requests. The default value is true. /// [DefaultValue(true)] public Boolean ExpectContinue From 13d716cb4d0bc6f51bfcb4b8e6031296435ccc57 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:10:36 -0500 Subject: [PATCH 137/184] spelling: resiliency Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1751-runner-job-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index d0d7c8479eb..a37a7eb5828 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -73,7 +73,7 @@ These are **synchronous** hooks, so they will block job execution while they are - These files will execute as the Runner user, outside of any container specification on the job - These are **synchronous** hooks - Runner admins can execute a background process for async hooks if they want - - We will fail the job and halt execution on any exit code that is not 0. The Runner admin is responsible for returning the correct exit code and ensuring resilency. + - We will fail the job and halt execution on any exit code that is not 0. The Runner admin is responsible for returning the correct exit code and ensuring resiliency. - This includes that the runner user needs access to the file in the env and the file must exist - There will be no `continue-on-error` type option on launch - There will be no `timeout` option on launch From e3c7823684163f4c878d440e3863b95db71c6990 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:11:01 -0500 Subject: [PATCH 138/184] spelling: retrieve Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Configuration/ConfigurationManager.cs | 2 +- src/Runner.Listener/JobDispatcher.cs | 4 ++-- src/Runner.Worker/Variables.cs | 2 +- src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs index f0dba307579..5c64889c90e 100644 --- a/src/Runner.Listener/Configuration/ConfigurationManager.cs +++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs @@ -711,7 +711,7 @@ private async Task GetRunnerTokenAsync(CommandSettings command, string g { Trace.Info($"Retriving runner {tokenType} token using GitHub PAT."); var jitToken = await GetJITRunnerTokenAsync(githubUrl, githubPAT, tokenType); - Trace.Info($"Retrived runner {tokenType} token is good to {jitToken.ExpiresAt}."); + Trace.Info($"Retrieved runner {tokenType} token is good to {jitToken.ExpiresAt}."); HostContext.SecretMasker.AddValue(jitToken.Token); runnerToken = jitToken.Token; } diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index c00dd3de529..19729a3ff43 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -98,7 +98,7 @@ public void Run(Pipelines.AgentJobRequestMessage jobRequestMessage, bool runOnce Guid dispatchedJobId = _jobDispatchedQueue.Dequeue(); if (_jobInfos.TryGetValue(dispatchedJobId, out currentDispatch)) { - Trace.Verbose($"Retrive previous WorkerDispatcher for job {currentDispatch.JobId}."); + Trace.Verbose($"Retrieve previous WorkerDispatcher for job {currentDispatch.JobId}."); } } @@ -167,7 +167,7 @@ public async Task WaitAsync(CancellationToken token) dispatchedJobId = _jobDispatchedQueue.Dequeue(); if (_jobInfos.TryGetValue(dispatchedJobId, out currentDispatch)) { - Trace.Verbose($"Retrive previous WorkerDispatcher for job {currentDispatch.JobId}."); + Trace.Verbose($"Retrieve previous WorkerDispatcher for job {currentDispatch.JobId}."); } } else diff --git a/src/Runner.Worker/Variables.cs b/src/Runner.Worker/Variables.cs index 916b82dc6a1..0dcf7fcb440 100644 --- a/src/Runner.Worker/Variables.cs +++ b/src/Runner.Worker/Variables.cs @@ -61,7 +61,7 @@ public Variables(IHostContext hostContext, IDictionary co } // DO NOT add file path variable to here. - // All file path variables needs to be retrive and set through ExecutionContext, so it can handle container file path translation. + // All file path variables needs to be retrieve and set through ExecutionContext, so it can handle container file path translation. public string Build_Number => Get(SdkConstants.Variables.Build.BuildNumber); #if OS_WINDOWS diff --git a/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs b/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs index 43a222626a5..dd7a390a2c4 100644 --- a/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs +++ b/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs @@ -740,7 +740,7 @@ private Boolean NeedToConnect(ConnectOptions optionsNeeded) m_locationDataCacheManager = new LocationCacheManager(m_instanceId, m_serviceOwner, m_baseUri); } - // update the location service cache if we tried to retireve location service data + // update the location service cache if we tried to retrieve location service data m_locationDataCacheManager.WebApplicationRelativeDirectory = connectionData.WebApplicationRelativeDirectory; if (locationServiceData != null) { From c536644d8bd3524ace9610d331bdd0cc5391baba Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:11:37 -0500 Subject: [PATCH 139/184] spelling: retrieving Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Configuration/ConfigurationManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs index 5c64889c90e..c086c68d744 100644 --- a/src/Runner.Listener/Configuration/ConfigurationManager.cs +++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs @@ -709,7 +709,7 @@ private async Task GetRunnerTokenAsync(CommandSettings command, string g var runnerToken = string.Empty; if (!string.IsNullOrEmpty(githubPAT)) { - Trace.Info($"Retriving runner {tokenType} token using GitHub PAT."); + Trace.Info($"Retrieving runner {tokenType} token using GitHub PAT."); var jitToken = await GetJITRunnerTokenAsync(githubUrl, githubPAT, tokenType); Trace.Info($"Retrieved runner {tokenType} token is good to {jitToken.ExpiresAt}."); HostContext.SecretMasker.AddValue(jitToken.Token); From 2dc73207983591ae6284431257e1827f1d1a85bb Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:33:24 -0500 Subject: [PATCH 140/184] spelling: retryable Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Misc/layoutbin/RunnerService.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Misc/layoutbin/RunnerService.js b/src/Misc/layoutbin/RunnerService.js index 1024e8a5e77..fb8d595685f 100644 --- a/src/Misc/layoutbin/RunnerService.js +++ b/src/Misc/layoutbin/RunnerService.js @@ -98,7 +98,7 @@ var runService = function () { retriableFailureRetryCount++; if (retriableFailureRetryCount >= 10) { console.error( - "Stopping the runner after 10 consecutive re-tryable failures" + "Stopping the runner after 10 consecutive retryable failures" ); stopping = true; } @@ -110,7 +110,7 @@ var runService = function () { retriableFailureRetryCount++; if (retriableFailureRetryCount >= 10) { console.error( - "Stopping the runner after 10 consecutive re-tryable failures" + "Stopping the runner after 10 consecutive retryable failures" ); stopping = true; } From 5ddd053c365788d9d6e153153737f8b12fd09c09 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:10:47 -0500 Subject: [PATCH 141/184] spelling: reusable Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1751-runner-job-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index a37a7eb5828..4584a1f32df 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -15,7 +15,7 @@ This feature is mainly intended for self hosted runner administrators. - Policy features that require certain steps run at the beginning or end of all jobs - This would be better solved to in a central place in settings, rather then decentralized on each runner. - The Proposed `Notification Hooks for Runners` is limited to self hosted runners, we don't believe Policy features should be -- Reuse scenarios between jobs are covered by [composite actions](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action) and [resuable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows) +- Reuse scenarios between jobs are covered by [composite actions](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action) and [reusable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows) - Security applications, security should be handled on the policy side on the server, not decentralized on each runner ## Hooks From 82232215b84c6505614bf94d8747a24f3fd8aa2e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:30:21 -0500 Subject: [PATCH 142/184] spelling: rules Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../Configuration/NativeWindowsServiceHelper.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs index 9bfbb751c1f..dc1be33dc51 100644 --- a/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs +++ b/src/Runner.Listener/Configuration/NativeWindowsServiceHelper.cs @@ -278,11 +278,11 @@ private bool IsGroupHasFullControl(string path, string groupName) DirectoryInfo dInfo = new DirectoryInfo(path); DirectorySecurity dSecurity = dInfo.GetAccessControl(); - var allAccessRuls = dSecurity.GetAccessRules(true, true, typeof(SecurityIdentifier)).Cast(); + var allAccessRules = dSecurity.GetAccessRules(true, true, typeof(SecurityIdentifier)).Cast(); SecurityIdentifier sid = (SecurityIdentifier)new NTAccount(groupName).Translate(typeof(SecurityIdentifier)); - if (allAccessRuls.Any(x => x.IdentityReference.Value == sid.ToString() && + if (allAccessRules.Any(x => x.IdentityReference.Value == sid.ToString() && x.AccessControlType == AccessControlType.Allow && x.FileSystemRights.HasFlag(FileSystemRights.FullControl) && x.InheritanceFlags == (InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit) && @@ -422,11 +422,11 @@ public void RemoveGroupFromFolderSecuritySetting(string folderPath, string group { DirectorySecurity dSecurity = dInfo.GetAccessControl(); - var allAccessRuls = dSecurity.GetAccessRules(true, true, typeof(SecurityIdentifier)).Cast(); + var allAccessRules = dSecurity.GetAccessRules(true, true, typeof(SecurityIdentifier)).Cast(); SecurityIdentifier sid = (SecurityIdentifier)new NTAccount(groupName).Translate(typeof(SecurityIdentifier)); - foreach (FileSystemAccessRule ace in allAccessRuls) + foreach (FileSystemAccessRule ace in allAccessRules) { if (String.Equals(sid.ToString(), ace.IdentityReference.Value, StringComparison.OrdinalIgnoreCase)) { From c32c2f8105ef76a8baf0ca7e3c148249892eebfe Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:12:11 -0500 Subject: [PATCH 143/184] spelling: satisfied Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Exceptions/SecurityExceptions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/Exceptions/SecurityExceptions.cs b/src/Sdk/WebApi/WebApi/Exceptions/SecurityExceptions.cs index 2c67437d161..147d79f03da 100644 --- a/src/Sdk/WebApi/WebApi/Exceptions/SecurityExceptions.cs +++ b/src/Sdk/WebApi/WebApi/Exceptions/SecurityExceptions.cs @@ -37,7 +37,7 @@ public class AccessCheckException : SecurityException /// The identity descriptor which was checked. /// The display name of the identity which was checked. /// The token which was checked. - /// The requested permissions, which were not satisifed by the check. + /// The requested permissions, which were not satisfied by the check. /// The security namespace which was checked. /// A descriptive message for the exception. public AccessCheckException( @@ -57,7 +57,7 @@ public AccessCheckException( /// /// The identity descriptor which was checked. /// The token which was checked. - /// The requested permissions, which were not satisifed by the check. + /// The requested permissions, which were not satisfied by the check. /// The security namespace which was checked. /// A descriptive message for the exception. public AccessCheckException( From f05a6558e65a3f143a59f6531d45512b416224c4 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:44:26 -0500 Subject: [PATCH 144/184] spelling: separate Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/ProcessInvoker.cs | 2 +- .../Pipelines/ObjectTemplating/PipelineTemplateConverter.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Common/ProcessInvoker.cs b/src/Runner.Common/ProcessInvoker.cs index 021c6db5e02..e04ed9d5105 100644 --- a/src/Runner.Common/ProcessInvoker.cs +++ b/src/Runner.Common/ProcessInvoker.cs @@ -101,7 +101,7 @@ Task ExecuteAsync( } // The implementation of the process invoker does not hook up DataReceivedEvent and ErrorReceivedEvent of Process, - // instead, we read both STDOUT and STDERR stream manually on seperate thread. + // instead, we read both STDOUT and STDERR stream manually on separate thread. // The reason is we find a huge perf issue about process STDOUT/STDERR with those events. // // Missing functionalities: diff --git a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs index 6c9654074f1..d02fb6cf59b 100644 --- a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs +++ b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs @@ -651,7 +651,7 @@ private static String ConvertToIfCondition( if (isJob) { namedValues = s_jobIfNamedValues; - // TODO: refactor into seperate functions + // TODO: refactor into separate functions // functions = PhaseCondition.FunctionInfo; } else From 6f8211b8c2a864ff61b1a763df560f134f699cbc Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:44:38 -0500 Subject: [PATCH 145/184] spelling: separated Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/ProcessExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Common/ProcessExtensions.cs b/src/Runner.Common/ProcessExtensions.cs index 5ccda3e8abf..ea22627c772 100644 --- a/src/Runner.Common/ProcessExtensions.cs +++ b/src/Runner.Common/ProcessExtensions.cs @@ -300,7 +300,7 @@ public static string GetEnvironmentVariable(this Process process, IHostContext h string envContent = File.ReadAllText(envFile); if (!string.IsNullOrEmpty(envContent)) { - // on linux, environment variables are seprated by '\0' + // on linux, environment variables are separated by '\0' var envList = envContent.Split('\0', StringSplitOptions.RemoveEmptyEntries); foreach (var envStr in envList) { From ee97ce5a20922f1e59b741baf9b4fcc8d022feec Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:45:37 -0500 Subject: [PATCH 146/184] spelling: separator Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index 19729a3ff43..94baac6b578 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -1028,7 +1028,7 @@ private async Task TryUploadUnfinishedLogs(Pipelines.AgentJobRequestMessage mess Trace.Warning($"log file '{log}' doesn't follow naming convention 'GUID_GUID_INT'."); continue; } - var logPageSeperator = logName.IndexOf('_'); + var logPageSeparator = logName.IndexOf('_'); var logRecordId = Guid.Empty; var pageNumber = 0; From 424bc0cd6093ebdea770cd503c85492b93180389 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:46:00 -0500 Subject: [PATCH 147/184] spelling: serialize Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs b/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs index cc0dbc6a574..019e4f7ed09 100644 --- a/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs +++ b/src/Sdk/WebApi/WebApi/VssJsonMediaTypeFormatter.cs @@ -83,7 +83,7 @@ private void SetSerializerSettings(bool bypassSafeArrayWrapping, bool enumsAsNum if (!enumsAsNumbers) { - // Serialze enums as camelCased string values + // Serialize enums as camelCased string values this.SerializerSettings.Converters.Add(new StringEnumConverter { NamingStrategy = new CamelCaseNamingStrategy() }); } From bb6110d29545b41df29228dd97a7297f2c192c1e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:46:47 -0500 Subject: [PATCH 148/184] spelling: service Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Runner.cs | 2 +- src/Runner.Service/Windows/Resource.Designer.cs | 2 +- src/Runner.Service/Windows/Resource.resx | 2 +- src/Sdk/WebApi/WebApi/Location/Interfaces.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs index 553178fe9db..33c5a72f791 100644 --- a/src/Runner.Listener/Runner.cs +++ b/src/Runner.Listener/Runner.cs @@ -47,7 +47,7 @@ public sealed class Runner : RunnerService, IRunner // // Helps avoid excessive calls to Run Service when encountering non-retriable errors from /acquirejob. // Normally we rely on the HTTP clients to back off between retry attempts. However, acquiring a job - // involves calls to both Run Serivce and Broker. And Run Service and Broker communicate with each other + // involves calls to both Run Service and Broker. And Run Service and Broker communicate with each other // in an async fashion. // // When Run Service encounters a non-retriable error, it sends an async message to Broker. The runner will, diff --git a/src/Runner.Service/Windows/Resource.Designer.cs b/src/Runner.Service/Windows/Resource.Designer.cs index 503aca55614..4f3752c6614 100644 --- a/src/Runner.Service/Windows/Resource.Designer.cs +++ b/src/Runner.Service/Windows/Resource.Designer.cs @@ -133,7 +133,7 @@ internal static string RunnerUpdateSucceed { } /// - /// Looks up a localized string similar to Crash servicehost to trigger SCM restart the serivce.. + /// Looks up a localized string similar to Crash servicehost to trigger SCM restart the service. /// internal static string CrashServiceHost { get { diff --git a/src/Runner.Service/Windows/Resource.resx b/src/Runner.Service/Windows/Resource.resx index 56c2c16132d..63b3ccad9e4 100644 --- a/src/Runner.Service/Windows/Resource.resx +++ b/src/Runner.Service/Windows/Resource.resx @@ -139,7 +139,7 @@ Runner listener has been updated to latest, restart the service to update the servicehost itself. - Crash servicehost to trigger SCM restart the serivce. + Crash servicehost to trigger SCM restart the service. Runner listener exit with undefined return code, re-launch runner in 5 seconds. diff --git a/src/Sdk/WebApi/WebApi/Location/Interfaces.cs b/src/Sdk/WebApi/WebApi/Location/Interfaces.cs index 50c6bc8488d..46a4a14214c 100644 --- a/src/Sdk/WebApi/WebApi/Location/Interfaces.cs +++ b/src/Sdk/WebApi/WebApi/Location/Interfaces.cs @@ -155,7 +155,7 @@ public interface ILocationDataProvider // // Removes the ServiceDefinition with the specified service type and - // service identifier from the location serivce. + // service identifier from the location service. // // // The service type of the ServiceDefinition to remove. From d8db23307e2b30db84f132ece0c003fc7a74d451 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:59:37 -0500 Subject: [PATCH 149/184] spelling: set up Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../Repository/v1.0/GitSourceProvider.cs | 2 +- .../Repository/v1.1/GitSourceProvider.cs | 2 +- src/Runner.Worker/ActionRunner.cs | 2 +- src/Runner.Worker/JobRunner.cs | 2 +- .../WorkflowParser/WorkflowTemplateParser.cs | 6 ++-- src/Test/L0/TestHostContext.cs | 2 +- .../L0/Worker/CreateStepSummaryCommandL0.cs | 2 +- src/Test/L0/Worker/ExecutionContextL0.cs | 34 +++++++++---------- src/Test/L0/Worker/OutputManagerL0.cs | 8 ++--- .../L0/Worker/PipelineDirectoryManagerL0.cs | 8 ++--- src/Test/L0/Worker/StepsRunnerL0.cs | 4 +-- src/Test/L0/Worker/TrackingManagerL0.cs | 6 ++-- 12 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs b/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs index 2c97721a3d8..004f843d6fc 100644 --- a/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs +++ b/src/Runner.Plugins/Repository/v1.0/GitSourceProvider.cs @@ -306,7 +306,7 @@ public async Task GetSourceAsync( if (gitLfsSupport) { // Initialize git lfs by execute 'git lfs install' - executionContext.Debug("Setup the local Git hooks for Git LFS."); + executionContext.Debug("Set up the local Git hooks for Git LFS."); int exitCode_lfsInstall = await gitCommandManager.GitLFSInstall(executionContext, targetPath); if (exitCode_lfsInstall != 0) { diff --git a/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs b/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs index c2bc376da59..ae6f3be7214 100644 --- a/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs +++ b/src/Runner.Plugins/Repository/v1.1/GitSourceProvider.cs @@ -295,7 +295,7 @@ public async Task GetSourceAsync( if (gitLfsSupport) { // Initialize git lfs by execute 'git lfs install' - executionContext.Debug("Setup the local Git hooks for Git LFS."); + executionContext.Debug("Set up the local Git hooks for Git LFS."); int exitCode_lfsInstall = await gitCommandManager.GitLFSInstall(executionContext, targetPath); if (exitCode_lfsInstall != 0) { diff --git a/src/Runner.Worker/ActionRunner.cs b/src/Runner.Worker/ActionRunner.cs index 436ec5fd3df..c14d1c01690 100644 --- a/src/Runner.Worker/ActionRunner.cs +++ b/src/Runner.Worker/ActionRunner.cs @@ -153,7 +153,7 @@ Action.Reference is Pipelines.RepositoryPathReference repoAction && ExecutionContext.SetGitHubContext("action_ref", null); } - // Setup container stephost for running inside the container. + // Set up container stephost for running inside the container. if (ExecutionContext.Global.Container != null) { // Make sure the required container is already created diff --git a/src/Runner.Worker/JobRunner.cs b/src/Runner.Worker/JobRunner.cs index c177ac6830b..dde07e0b9e4 100644 --- a/src/Runner.Worker/JobRunner.cs +++ b/src/Runner.Worker/JobRunner.cs @@ -85,7 +85,7 @@ public async Task RunAsync(AgentJobRequestMessage message, Cancellat } else { - // Setup the job server and job server queue. + // Set up the job server and job server queue. var jobServer = HostContext.GetService(); VssCredentials jobServerCredential = VssUtil.GetVssCredential(systemConnection); Uri jobServerUrl = systemConnection.Url; diff --git a/src/Sdk/WorkflowParser/WorkflowTemplateParser.cs b/src/Sdk/WorkflowParser/WorkflowTemplateParser.cs index 10a34552501..912c8977cff 100644 --- a/src/Sdk/WorkflowParser/WorkflowTemplateParser.cs +++ b/src/Sdk/WorkflowParser/WorkflowTemplateParser.cs @@ -1,4 +1,4 @@ -#nullable disable // Consider removing in the future to minimize likelihood of NullReferenceException; refer https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references +#nullable disable // Consider removing in the future to minimize likelihood of NullReferenceException; refer https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references using System; using System.Collections.Generic; @@ -102,7 +102,7 @@ public WorkflowTemplate LoadWorkflow( String path, CancellationToken cancellationToken) { - // Setup the template context + // Set up the template context var context = new TemplateContext { CancellationToken = cancellationToken, @@ -117,7 +117,7 @@ public WorkflowTemplate LoadWorkflow( context.SetFeatures(m_features); context.SetJobCountValidator(new JobCountValidator(context, m_parseOptions.MaxJobLimit)); - // Setup the template loader + // Set up the template loader var loader = new YamlTemplateLoader(new ParseOptions(m_parseOptions), fileProvider); // Parse the template tokens diff --git a/src/Test/L0/TestHostContext.cs b/src/Test/L0/TestHostContext.cs index c1cf692204f..37b3f1fc358 100644 --- a/src/Test/L0/TestHostContext.cs +++ b/src/Test/L0/TestHostContext.cs @@ -48,7 +48,7 @@ public TestHostContext(object testClass, [CallerMemberName] string testName = "" startIndex: typeof(Tests.TestHostContext).FullName.LastIndexOf(nameof(TestHostContext))); _suiteName = _suiteName.Replace(".", "_"); - // Setup the trace manager. + // Set up the trace manager. TraceFileName = Path.Combine( Path.Combine(TestUtil.GetSrcPath(), "Test", "TestLogs"), $"trace_{_suiteName}_{_testName}.log"); diff --git a/src/Test/L0/Worker/CreateStepSummaryCommandL0.cs b/src/Test/L0/Worker/CreateStepSummaryCommandL0.cs index 185f44b3865..c612105d5bf 100644 --- a/src/Test/L0/Worker/CreateStepSummaryCommandL0.cs +++ b/src/Test/L0/Worker/CreateStepSummaryCommandL0.cs @@ -188,7 +188,7 @@ private TestHostContext Setup([CallerMemberName] string name = "") _issues = new List>(); - // Setup a job request + // Set up a job request TaskOrchestrationPlanReference plan = new(); TimelineReference timeline = new(); Guid jobId = Guid.NewGuid(); diff --git a/src/Test/L0/Worker/ExecutionContextL0.cs b/src/Test/L0/Worker/ExecutionContextL0.cs index 357cdc9aa5e..e6a59531f4f 100644 --- a/src/Test/L0/Worker/ExecutionContextL0.cs +++ b/src/Test/L0/Worker/ExecutionContextL0.cs @@ -38,7 +38,7 @@ public void AddIssue_CountWarningsErrors() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var jobServerQueue = new Mock(); jobServerQueue.Setup(x => x.QueueTimelineRecordUpdate(It.IsAny(), It.IsAny())); @@ -116,7 +116,7 @@ public void ApplyContinueOnError_CheckResultAndOutcome() jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); jobRequest.Variables["ACTIONS_STEP_DEBUG"] = "true"; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var jobServerQueue = new Mock(); jobServerQueue.Setup(x => x.QueueTimelineRecordUpdate(It.IsAny(), It.IsAny())); @@ -171,7 +171,7 @@ public void AddIssue_TrimMessageSize() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var jobServerQueue = new Mock(); jobServerQueue.Setup(x => x.QueueTimelineRecordUpdate(It.IsAny(), It.IsAny())); @@ -225,7 +225,7 @@ public void AddIssue_OverrideLogMessage() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var jobServerQueue = new Mock(); @@ -280,7 +280,7 @@ public void AddIssue_AddStepAndLineNumberInformation() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var pagingLogger2 = new Mock(); var jobServerQueue = new Mock(); @@ -332,7 +332,7 @@ public void Debug_Multilines() jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); jobRequest.Variables["ACTIONS_STEP_DEBUG"] = "true"; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var jobServerQueue = new Mock(); jobServerQueue.Setup(x => x.QueueTimelineRecordUpdate(It.IsAny(), It.IsAny())); @@ -383,7 +383,7 @@ public void RegisterPostJobAction_ShareState() jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); jobRequest.Variables["ACTIONS_STEP_DEBUG"] = "true"; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger1 = new Mock(); var pagingLogger2 = new Mock(); var pagingLogger3 = new Mock(); @@ -481,7 +481,7 @@ public void RegisterPostJobAction_NotRegisterPostTwice() jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); jobRequest.Variables["ACTIONS_STEP_DEBUG"] = "true"; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger1 = new Mock(); var pagingLogger2 = new Mock(); var pagingLogger3 = new Mock(); @@ -565,7 +565,7 @@ public void ActionResult_Lowercase() jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); jobRequest.Variables["ACTIONS_STEP_DEBUG"] = "true"; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger1 = new Mock(); var jobServerQueue = new Mock(); hc.EnqueueInstance(pagingLogger1.Object); @@ -619,7 +619,7 @@ public void PublishStepTelemetry_RegularStep_NoOpt() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var jobServerQueue = new Mock(); jobServerQueue.Setup(x => x.QueueTimelineRecordUpdate(It.IsAny(), It.IsAny())); @@ -662,7 +662,7 @@ public void PublishStepTelemetry_RegularStep() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var jobServerQueue = new Mock(); jobServerQueue.Setup(x => x.QueueTimelineRecordUpdate(It.IsAny(), It.IsAny())); @@ -726,7 +726,7 @@ public void PublishStepTelemetry_EmbeddedStep() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var pagingLogger2 = new Mock(); var jobServerQueue = new Mock(); @@ -866,7 +866,7 @@ public void PublishStepResult_EmbeddedStep_Legacy() }); jobRequest.ContextData["github"] = new Pipelines.ContextData.DictionaryContextData(); - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger = new Mock(); var pagingLogger2 = new Mock(); var jobServerQueue = new Mock(); @@ -905,7 +905,7 @@ private TestHostContext CreateTestContext([CallerMemberName] String testName = " { var hc = new TestHostContext(this, testName); - // Arrange: Setup the configuration store. + // Arrange: Set up the configuration store. var configurationStore = new Mock(); configurationStore.Setup(x => x.GetSettings()).Returns(new RunnerSettings()); hc.SetSingleton(configurationStore.Object); @@ -1060,7 +1060,7 @@ public void ActionVariables_AddedToVarsContext() inputVarsContext["VARIABLE_2"] = new StringContextData("value2"); jobRequest.ContextData["vars"] = inputVarsContext; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger1 = new Mock(); var jobServerQueue = new Mock(); hc.EnqueueInstance(pagingLogger1.Object); @@ -1105,7 +1105,7 @@ public void ActionVariables_DebugUsingVars() inputVarsContext[Constants.Variables.Actions.RunnerDebug] = new StringContextData("true"); jobRequest.ContextData["vars"] = inputVarsContext; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger1 = new Mock(); var jobServerQueue = new Mock(); hc.EnqueueInstance(pagingLogger1.Object); @@ -1151,7 +1151,7 @@ public void ActionVariables_SecretsPrecedenceForDebugUsingVars() jobRequest.Variables[Constants.Variables.Actions.StepDebug] = "false"; jobRequest.Variables[Constants.Variables.Actions.RunnerDebug] = "false"; - // Arrange: Setup the paging logger. + // Arrange: Set up the paging logger. var pagingLogger1 = new Mock(); var jobServerQueue = new Mock(); hc.EnqueueInstance(pagingLogger1.Object); diff --git a/src/Test/L0/Worker/OutputManagerL0.cs b/src/Test/L0/Worker/OutputManagerL0.cs index cb4b2ca29dd..65768e28e8f 100644 --- a/src/Test/L0/Worker/OutputManagerL0.cs +++ b/src/Test/L0/Worker/OutputManagerL0.cs @@ -795,7 +795,7 @@ public async void MatcherFile_JobContainer() _executionContext.Setup(x => x.GetGitHubContext("workspace")).Returns(workspaceDirectory); _executionContext.Setup(x => x.GetGitHubContext("repository")).Returns("my-org/workflow-repo"); - // Setup a git repository + // Set up a git repository await CreateRepository(hostContext, workspaceDirectory, "https://github.com/my-org/workflow-repo"); // Create test files @@ -856,7 +856,7 @@ public async void MatcherFile_StepContainer() _executionContext.Setup(x => x.GetGitHubContext("workspace")).Returns(workspaceDirectory); _executionContext.Setup(x => x.GetGitHubContext("repository")).Returns("my-org/workflow-repo"); - // Setup a git repository + // Set up a git repository await CreateRepository(hostContext, workspaceDirectory, "https://github.com/my-org/workflow-repo"); // Create test files @@ -918,7 +918,7 @@ public async void MatcherFromPath() _executionContext.Setup(x => x.GetGitHubContext("workspace")).Returns(workspaceDirectory); _executionContext.Setup(x => x.GetGitHubContext("repository")).Returns("my-org/workflow-repo"); - // Setup a git repository + // Set up a git repository var repositoryPath = Path.Combine(workspaceDirectory, "workflow-repo"); await CreateRepository(hostContext, repositoryPath, "https://github.com/my-org/workflow-repo"); @@ -974,7 +974,7 @@ public async void MatcherDefaultFromPath() _executionContext.Setup(x => x.GetGitHubContext("workspace")).Returns(workspaceDirectory); _executionContext.Setup(x => x.GetGitHubContext("repository")).Returns("my-org/workflow-repo"); - // Setup a git repository + // Set up a git repository var repositoryPath = Path.Combine(workspaceDirectory, "workflow-repo"); await CreateRepository(hostContext, repositoryPath, "https://github.com/my-org/workflow-repo"); diff --git a/src/Test/L0/Worker/PipelineDirectoryManagerL0.cs b/src/Test/L0/Worker/PipelineDirectoryManagerL0.cs index faabf9ef89a..541ff5c52d2 100644 --- a/src/Test/L0/Worker/PipelineDirectoryManagerL0.cs +++ b/src/Test/L0/Worker/PipelineDirectoryManagerL0.cs @@ -198,10 +198,10 @@ public void UpdatesRepositoryDirectoryThrowOnInvalidPath() private TestHostContext Setup( [CallerMemberName] string name = "") { - // Setup the host context. + // Set up the host context. TestHostContext hc = new(this, name); - // Setup the execution context. + // Set up the execution context. _ec = new Mock(); _ec.Setup(x => x.Global).Returns(new GlobalContext()); @@ -217,11 +217,11 @@ private TestHostContext Setup( _workspaceOptions = new Pipelines.WorkspaceOptions(); - // Setup the tracking manager. + // Set up the tracking manager. _trackingManager = new Mock(); hc.SetSingleton(_trackingManager.Object); - // Setup the build directory manager. + // Set up the build directory manager. _pipelineDirectoryManager = new PipelineDirectoryManager(); _pipelineDirectoryManager.Initialize(hc); return hc; diff --git a/src/Test/L0/Worker/StepsRunnerL0.cs b/src/Test/L0/Worker/StepsRunnerL0.cs index a22dc618f8d..8a80a3dd233 100644 --- a/src/Test/L0/Worker/StepsRunnerL0.cs +++ b/src/Test/L0/Worker/StepsRunnerL0.cs @@ -585,7 +585,7 @@ public async Task StepContextConclusion() private Mock CreateStep(TestHostContext hc, TaskResult result, string condition, Boolean continueOnError = false, MappingToken env = null, string name = "Test", bool setOutput = false, string contextName = null) { - // Setup the step. + // Set up the step. var step = new Mock(); step.Setup(x => x.Condition).Returns(condition); step.Setup(x => x.ContinueOnError).Returns(new BooleanToken(null, null, null, continueOnError)); @@ -598,7 +598,7 @@ private Mock CreateStep(TestHostContext hc, TaskResult result, st ContextName = contextName ?? "Test" }); - // Setup the step execution context. + // Set up the step execution context. var stepContext = new Mock(); stepContext.SetupAllProperties(); stepContext.Setup(x => x.Global).Returns(() => _ec.Object.Global); diff --git a/src/Test/L0/Worker/TrackingManagerL0.cs b/src/Test/L0/Worker/TrackingManagerL0.cs index a016943371c..8c81d7b49ad 100644 --- a/src/Test/L0/Worker/TrackingManagerL0.cs +++ b/src/Test/L0/Worker/TrackingManagerL0.cs @@ -15,18 +15,18 @@ public sealed class TrackingManagerL0 public TestHostContext Setup([CallerMemberName] string name = "") { - // Setup the host context. + // Set up the host context. TestHostContext hc = new(this, name); // Create a random work path. _workFolder = hc.GetDirectory(WellKnownDirectory.Work); - // Setup the execution context. + // Set up the execution context. _ec = new Mock(); GitHubContext githubContext = new(); _ec.Setup(x => x.GetGitHubContext("repository")).Returns("actions/runner"); - // Setup the tracking manager. + // Se up the tracking manager. _trackingManager = new TrackingManager(); _trackingManager.Initialize(hc); From 15c9d18af2ed1c296fd9d90e2d16989bb5778d12 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:47:20 -0500 Subject: [PATCH 150/184] spelling: similar Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/Program.cs b/src/Runner.Worker/Program.cs index c4f23f943ec..f4f0056137d 100644 --- a/src/Runner.Worker/Program.cs +++ b/src/Runner.Worker/Program.cs @@ -25,7 +25,7 @@ public static async Task MainAsync(IHostContext context, string[] args) await WaitForDebugger(trace); } - // We may want to consider registering this handler in Worker.cs, similiar to the unloading/SIGTERM handler + // We may want to consider registering this handler in Worker.cs, similar to the unloading/SIGTERM handler //ITerminal registers a CTRL-C handler, which keeps the Runner.Worker process running //and lets the Runner.Listener handle gracefully the exit. var term = context.GetService(); From 2b7546b50ae478bd2e25da892ee0502beddc2419 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:37:25 -0500 Subject: [PATCH 151/184] spelling: simply Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/VssException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/VssException.cs b/src/Sdk/Common/Common/VssException.cs index 8cc96913c70..89b7c256d92 100644 --- a/src/Sdk/Common/Common/VssException.cs +++ b/src/Sdk/Common/Common/VssException.cs @@ -25,7 +25,7 @@ namespace GitHub.Services.Common public abstract class VssException : ApplicationException { /// - /// No-arg constructor that sumply defers to the base class. + /// No-arg constructor that simply defers to the base class. /// public VssException() : base() { From 544d341d32311fa10e3e637f03af21238f5d1da4 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:47:36 -0500 Subject: [PATCH 152/184] spelling: something Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTLogging/Logging/ValueEncoders.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/DTLogging/Logging/ValueEncoders.cs b/src/Sdk/DTLogging/Logging/ValueEncoders.cs index b3387abd36c..8369e7bf590 100644 --- a/src/Sdk/DTLogging/Logging/ValueEncoders.cs +++ b/src/Sdk/DTLogging/Logging/ValueEncoders.cs @@ -20,7 +20,7 @@ public static String Base64StringEscape(String value) // Base64 is 6 bits -> char // A byte is 8 bits - // When end user doing somthing like base64(user:password) + // When end user doing something like base64(user:password) // The length of the leading content will cause different base64 encoding result on the password // So we add base64(value shifted 1 and two bytes) as secret as well. // B1 B2 B3 B4 B5 B6 B7 From 7a4dcf6508a74736722a796809a3bd9c093901d8 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:36:54 -0500 Subject: [PATCH 153/184] spelling: specific Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Sdk/ProcessInvoker.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Sdk/ProcessInvoker.cs b/src/Runner.Sdk/ProcessInvoker.cs index 7270faf5dc9..4069cad7e75 100644 --- a/src/Runner.Sdk/ProcessInvoker.cs +++ b/src/Runner.Sdk/ProcessInvoker.cs @@ -297,7 +297,7 @@ public async Task ExecuteAsync( _stopWatch = Stopwatch.StartNew(); _proc.Start(); - // Decrease invoked process priority, in platform specifc way, relative to parent + // Decrease invoked process priority, in platform specific way, relative to parent if (!highPriorityProcess) { DecreaseProcessPriority(_proc); From b55c83df70baa341a660685b826d7f53ed1aab54 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:11:14 -0500 Subject: [PATCH 154/184] spelling: step host Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/ActionRunner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/ActionRunner.cs b/src/Runner.Worker/ActionRunner.cs index c14d1c01690..a4f0ad136ce 100644 --- a/src/Runner.Worker/ActionRunner.cs +++ b/src/Runner.Worker/ActionRunner.cs @@ -153,7 +153,7 @@ Action.Reference is Pipelines.RepositoryPathReference repoAction && ExecutionContext.SetGitHubContext("action_ref", null); } - // Set up container stephost for running inside the container. + // Set up container step host for running inside the container. if (ExecutionContext.Global.Container != null) { // Make sure the required container is already created From 2d2e7175bb0326c6399607924b764498ef975d6d Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:37:11 -0500 Subject: [PATCH 155/184] spelling: successfully Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/Configuration/RSAFileKeyManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/Configuration/RSAFileKeyManager.cs b/src/Runner.Listener/Configuration/RSAFileKeyManager.cs index 532128a5700..b72335ae6c6 100644 --- a/src/Runner.Listener/Configuration/RSAFileKeyManager.cs +++ b/src/Runner.Listener/Configuration/RSAFileKeyManager.cs @@ -40,7 +40,7 @@ public RSA CreateKey() } else { - Trace.Warning("Unable to succesfully set permissions for RSA key parameters file {0}. Received exit code {1} from {2}", _keyFile, exitCode, chmodPath); + Trace.Warning("Unable to successfully set permissions for RSA key parameters file {0}. Received exit code {1} from {2}", _keyFile, exitCode, chmodPath); } } } From de7804e32555739932d363b8ae6e7ef2ebbd6af8 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:37:47 -0500 Subject: [PATCH 156/184] spelling: supported Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WorkflowParser/workflow-v1.0.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WorkflowParser/workflow-v1.0.json b/src/Sdk/WorkflowParser/workflow-v1.0.json index 01601dcb5db..c1b625154b2 100644 --- a/src/Sdk/WorkflowParser/workflow-v1.0.json +++ b/src/Sdk/WorkflowParser/workflow-v1.0.json @@ -1465,7 +1465,7 @@ ] }, "workflow-run-activity": { - "description": "The types of workflow run activity that trigger the workflow. Suupported activity types: `completed`, `requested`, `in_progress`.", + "description": "The types of workflow run activity that trigger the workflow. Supported activity types: `completed`, `requested`, `in_progress`.", "one-of": [ "workflow-run-activity-type", "workflow-run-activity-types" From 800a974913f815fc33243ab909fcdb7b5541b8b5 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:37:34 -0500 Subject: [PATCH 157/184] spelling: surrogate Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/ArgumentUtility.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/ArgumentUtility.cs b/src/Sdk/Common/Common/Utility/ArgumentUtility.cs index 7f062ddd666..908ea28c13b 100644 --- a/src/Sdk/Common/Common/Utility/ArgumentUtility.cs +++ b/src/Sdk/Common/Common/Utility/ArgumentUtility.cs @@ -1238,7 +1238,7 @@ public static bool HasMismatchedSurrogates(string strIn) return true; } - // skip the low surogate + // skip the low surrogate i++; } } From d841c6e800d269e7bbb023eef2342138c6132bd2 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:38:52 -0500 Subject: [PATCH 158/184] spelling: synchronization Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Authentication/VssCredentials.cs | 2 +- src/Sdk/Common/Common/RawHttpMessageHandler.cs | 2 +- src/Sdk/Common/Common/VssHttpMessageHandler.cs | 2 +- src/Sdk/DTWebApi/WebApi/TaskAgentHttpClient.cs | 2 +- src/Sdk/WebApi/WebApi/RawHttpClientBase.cs | 2 +- src/Sdk/WebApi/WebApi/VssHttpClientBase.cs | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Sdk/Common/Common/Authentication/VssCredentials.cs b/src/Sdk/Common/Common/Authentication/VssCredentials.cs index d348e303f83..ddf5156c839 100644 --- a/src/Sdk/Common/Common/Authentication/VssCredentials.cs +++ b/src/Sdk/Common/Common/Authentication/VssCredentials.cs @@ -114,7 +114,7 @@ public VssCredentials( { // If we use TaskScheduler.FromCurrentSynchronizationContext() here and this is executing under the UI // thread, for example from an event handler in a WinForms applications, this TaskScheduler will capture - // the UI SyncrhonizationContext whose MaximumConcurrencyLevel is 1 and only has a single thread to + // the UI SynchronizationContext whose MaximumConcurrencyLevel is 1 and only has a single thread to // execute queued work. Then, if the UI thread invokes one of our synchronous methods that are just // wrappers that block until the asynchronous overload returns, and if the async Task queues work to // this TaskScheduler, like GitHub.Services.CommonGetTokenOperation.GetTokenAsync does, diff --git a/src/Sdk/Common/Common/RawHttpMessageHandler.cs b/src/Sdk/Common/Common/RawHttpMessageHandler.cs index e80e6a74727..2f83d3a0281 100644 --- a/src/Sdk/Common/Common/RawHttpMessageHandler.cs +++ b/src/Sdk/Common/Common/RawHttpMessageHandler.cs @@ -167,7 +167,7 @@ protected override async Task SendAsync( await BufferRequestContentAsync(request, tokenSource.Token).ConfigureAwait(false); // ConfigureAwait(false) enables the continuation to be run outside any captured - // SyncronizationContext (such as ASP.NET's) which keeps things from deadlocking... + // SynchronizationContext (such as ASP.NET's) which keeps things from deadlocking... response = await m_messageInvoker.SendAsync(request, tokenSource.Token).ConfigureAwait(false); responseWrapper = new HttpResponseMessageWrapper(response); diff --git a/src/Sdk/Common/Common/VssHttpMessageHandler.cs b/src/Sdk/Common/Common/VssHttpMessageHandler.cs index f48eec41af8..43eb07620a8 100644 --- a/src/Sdk/Common/Common/VssHttpMessageHandler.cs +++ b/src/Sdk/Common/Common/VssHttpMessageHandler.cs @@ -212,7 +212,7 @@ protected override async Task SendAsync( traceInfo?.TraceBufferedRequestTime(); // ConfigureAwait(false) enables the continuation to be run outside any captured - // SyncronizationContext (such as ASP.NET's) which keeps things from deadlocking... + // SynchronizationContext (such as ASP.NET's) which keeps things from deadlocking... response = await m_messageInvoker.SendAsync(request, tokenSource.Token).ConfigureAwait(false); diff --git a/src/Sdk/DTWebApi/WebApi/TaskAgentHttpClient.cs b/src/Sdk/DTWebApi/WebApi/TaskAgentHttpClient.cs index c97fea0a4d1..5252a2e581c 100644 --- a/src/Sdk/DTWebApi/WebApi/TaskAgentHttpClient.cs +++ b/src/Sdk/DTWebApi/WebApi/TaskAgentHttpClient.cs @@ -186,7 +186,7 @@ protected async Task SendAsync( } //ConfigureAwait(false) enables the continuation to be run outside - //any captured SyncronizationContext (such as ASP.NET's) which keeps things + //any captured SynchronizationContext (such as ASP.NET's) which keeps things //from deadlocking... using (HttpResponseMessage response = await this.SendAsync(message, userState, cancellationToken).ConfigureAwait(false)) { diff --git a/src/Sdk/WebApi/WebApi/RawHttpClientBase.cs b/src/Sdk/WebApi/WebApi/RawHttpClientBase.cs index 23c51472487..9db188b5060 100644 --- a/src/Sdk/WebApi/WebApi/RawHttpClientBase.cs +++ b/src/Sdk/WebApi/WebApi/RawHttpClientBase.cs @@ -176,7 +176,7 @@ protected async Task> SendAsync( CancellationToken cancellationToken = default(CancellationToken)) { //ConfigureAwait(false) enables the continuation to be run outside - //any captured SyncronizationContext (such as ASP.NET's) which keeps things + //any captured SynchronizationContext (such as ASP.NET's) which keeps things //from deadlocking... using (HttpResponseMessage response = await this.SendAsync(message, userState, cancellationToken).ConfigureAwait(false)) { diff --git a/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs b/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs index 4f1e9ad3092..eaa43ccca5c 100644 --- a/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs +++ b/src/Sdk/WebApi/WebApi/VssHttpClientBase.cs @@ -745,7 +745,7 @@ protected async Task SendAsync( CancellationToken cancellationToken = default(CancellationToken)) { //ConfigureAwait(false) enables the continuation to be run outside - //any captured SyncronizationContext (such as ASP.NET's) which keeps things + //any captured SynchronizationContext (such as ASP.NET's) which keeps things //from deadlocking... using (HttpResponseMessage response = await this.SendAsync(message, userState, cancellationToken).ConfigureAwait(false)) { @@ -849,7 +849,7 @@ protected async Task SendAsync( message.Options.Set(new HttpRequestOptionsKey(VssHttpRequestSettings.HttpCompletionOptionPropertyName), completionOption); //ConfigureAwait(false) enables the continuation to be run outside - //any captured SyncronizationContext (such as ASP.NET's) which keeps things + //any captured SynchronizationContext (such as ASP.NET's) which keeps things //from deadlocking... HttpResponseMessage response = await Client.SendAsync(message, completionOption, cancellationToken).ConfigureAwait(false); From b6d515980601a726f69b8c62b049d2be495e6504 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:58:10 -0500 Subject: [PATCH 159/184] spelling: than Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/0297-base64-masking-trailing-characters.md | 2 +- docs/adrs/1144-composite-actions.md | 2 +- docs/adrs/1438-conditional-composite.md | 6 +++--- docs/adrs/1751-runner-job-hooks.md | 2 +- docs/adrs/1891-container-hooks.md | 6 +++--- src/Runner.Worker/Handlers/Handler.cs | 2 +- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/adrs/0297-base64-masking-trailing-characters.md b/docs/adrs/0297-base64-masking-trailing-characters.md index 4bd072311cf..af288739951 100644 --- a/docs/adrs/0297-base64-masking-trailing-characters.md +++ b/docs/adrs/0297-base64-masking-trailing-characters.md @@ -43,6 +43,6 @@ This will result in us only revealing length or bit information when a prefix or ## Consequences -- In the case where a secret has a prefix or suffix added before base64 encoding, we may now reveal up to 20 bits of information and the length of the original string modulo 3, rather then the original 16 bits and no length information +- In the case where a secret has a prefix or suffix added before base64 encoding, we may now reveal up to 20 bits of information and the length of the original string modulo 3, rather than the original 16 bits and no length information - Secrets with a suffix appended before encoding will now be masked across the board. Previously it was only masked if it was a multiple of 3 characters - Performance will suffer in a negligible way diff --git a/docs/adrs/1144-composite-actions.md b/docs/adrs/1144-composite-actions.md index 791be6ddc21..223b2cd39da 100644 --- a/docs/adrs/1144-composite-actions.md +++ b/docs/adrs/1144-composite-actions.md @@ -80,7 +80,7 @@ We want to support the `uses` steps from workflows in composite actions, includi ### Defaults - Not being considered at this time -- In actions, we have the idea of [defaults](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#defaultsrun) , which allow you to specify a shell and working directory in one location, rather then on each step. +- In actions, we have the idea of [defaults](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#defaultsrun) , which allow you to specify a shell and working directory in one location, rather than on each step. - However, `shell` is currently required in composite run steps - In regular run steps, it is optional, and defaults to a different value based on the OS. - We want to prioritize the right experience for the consumer, and make the action author continue to explicitly set these values. We can consider improving this experience in the future. diff --git a/docs/adrs/1438-conditional-composite.md b/docs/adrs/1438-conditional-composite.md index c95405697f2..ad5728f02a6 100644 --- a/docs/adrs/1438-conditional-composite.md +++ b/docs/adrs/1438-conditional-composite.md @@ -12,7 +12,7 @@ However, one of the [most requested features](https://github.com/actions/runner/ ### Goals - We want to keep consistent with current behavior - We want to support conditionals via the `if` keyword -- Our built in functions like `success` should be implementable without calling them, for example you can do `job.status == success` rather then `success()` currently. +- Our built in functions like `success` should be implementable without calling them, for example you can do `job.status == success` rather than `success()` currently. ### How does composite currently work? @@ -32,7 +32,7 @@ Lets formalize that concept into a "real" idea. - We will add an `action_status` field to the github context to mimic the [job's context status](https://docs.github.com/en/actions/learn-github-actions/contexts#job-context). - We have an existing concept that does this `action_path` which is only set for composite actions on the github context. -- In a composite action during a main step, the `success()` function will check if `action_status == success`, rather then `job_status == success`. Failure will work the same way. +- In a composite action during a main step, the `success()` function will check if `action_status == success`, rather than `job_status == success`. Failure will work the same way. - Pre and post steps in composite actions will not change, they will continue to check the job status. @@ -57,7 +57,7 @@ For example, lets imagine a scenario with a simple nested composite action The child composite actions steps should run in this example, the child composite action has not yet failed, so it should run all steps until a step fails. This is consistent with how a composite action currently works in production if the main job fails but a composite action is invoked with `if:always()` or `if: failure()` ### Other options explored -We could add the `current_step_status` to the job context rather then `__status` to the steps context, however this comes with two major downsides: +We could add the `current_step_status` to the job context rather than `__status` to the steps context, however this comes with two major downsides: - We need to support the field for every type of step, because its non trivial to remove a field from the job context once it has been added (its readonly) - For all actions besides composite it would only every be `success` - Its weird to have a `current_step` value on the job context diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index 4584a1f32df..6da16e28cc0 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -13,7 +13,7 @@ This feature is mainly intended for self hosted runner administrators. **What we don't think this will solve** - Policy features that require certain steps run at the beginning or end of all jobs - - This would be better solved to in a central place in settings, rather then decentralized on each runner. + - This would be better solved to in a central place in settings, rather than decentralized on each runner. - The Proposed `Notification Hooks for Runners` is limited to self hosted runners, we don't believe Policy features should be - Reuse scenarios between jobs are covered by [composite actions](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action) and [reusable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows) - Security applications, security should be handled on the policy side on the server, not decentralized on each runner diff --git a/docs/adrs/1891-container-hooks.md b/docs/adrs/1891-container-hooks.md index d9e393219fa..2c7f8ab9958 100644 --- a/docs/adrs/1891-container-hooks.md +++ b/docs/adrs/1891-container-hooks.md @@ -7,7 +7,7 @@ # Background [Job Hooks](https://github.com/actions/runner/blob/main/docs/adrs/1751-runner-job-hooks.md) have given users the ability to customize how their self hosted runners run a job. -Users also want the ability to customize how they run containers during the scope of the job, rather then being locked into the docker implementation we have in the runner. They may want to use podman, kubernetes, or even change the docker commands we run. +Users also want the ability to customize how they run containers during the scope of the job, rather than being locked into the docker implementation we have in the runner. They may want to use podman, kubernetes, or even change the docker commands we run. We should give them that option, and publish examples how they can create their own hooks. # Guiding Principles @@ -88,14 +88,14 @@ We will not version these hooks at launch. If needed, we can always major versio The [job context](https://docs.github.com/en/actions/learn-github-actions/contexts#example-contents-of-the-job-context) currently has a variety of fields that correspond to containers. We should consider allowing hooks to populate new fields in the job context. That is out of scope for this original release however. ## Hooks -Hooks are to be implemented at a very high level, and map to actions the runner does, rather then specific docker actions like `docker build` or `docker create`. By mapping to runner actions, we create a very extensible framework that is flexible enough to solve any user concerns in the future. By providing first party implementations, we give users easy starting points to customize specific hooks (like `docker build`) without having to write full blown solutions. +Hooks are to be implemented at a very high level, and map to actions the runner does, rather than specific docker actions like `docker build` or `docker create`. By mapping to runner actions, we create a very extensible framework that is flexible enough to solve any user concerns in the future. By providing first party implementations, we give users easy starting points to customize specific hooks (like `docker build`) without having to write full blown solutions. The other would be to provide hooks that mirror every docker call we make, and expose more hooks to help support k8s users, with the expectation that users may have to no-op on multiple hooks if they don't correspond to our use case. Why we don't want to go that way - It feels clunky, users need to understand which hooks they need to implement and which they can ignore, which isn't a great UX - It doesn't scale well, I don't want to build a solution where we may need to add more hooks, by mapping to runner actions, updating hooks is a painful experience for users -- Its overwhelming, its easier to tell users to build 4 hooks and track data themselves, rather then 16 hooks where the runner needs certain information and then needs to provide that information back into each hook. If we expose `Container Create`, you need to return the container you created, then we do `container run` which uses that container. If we just give you an image and say create and run this container, you don't need to store the container id in the runner, and it maps better to k8s scenarios where we don't really have container ids. +- Its overwhelming, its easier to tell users to build 4 hooks and track data themselves, rather than 16 hooks where the runner needs certain information and then needs to provide that information back into each hook. If we expose `Container Create`, you need to return the container you created, then we do `container run` which uses that container. If we just give you an image and say create and run this container, you don't need to store the container id in the runner, and it maps better to k8s scenarios where we don't really have container ids. ### Prepare_job hook The `prepare_job` hook is called when a job is started. We pass in any job or service containers the job has. We expect that you: diff --git a/src/Runner.Worker/Handlers/Handler.cs b/src/Runner.Worker/Handlers/Handler.cs index 1ad30037949..05622a17186 100644 --- a/src/Runner.Worker/Handlers/Handler.cs +++ b/src/Runner.Worker/Handlers/Handler.cs @@ -29,7 +29,7 @@ public abstract class Handler : RunnerService { #if OS_WINDOWS // In windows OS the maximum supported size of an environment variable value is 32k. - // You can set environment variable greater then 32K, but that variable will not be able to read in node.exe. + // You can set environment variable greater than 32K, but that variable will not be able to read in node.exe. private const int _environmentVariableMaximumSize = 32766; #endif diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index bb12d208909..d1c68cd8be0 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -494,7 +494,7 @@ private static void UpdateExceptionAttributeMappingCache() Tuple cachedValue; // Check if the TypeName already exists in cache and add it if not. if it does exist, update if it has a higher ExclusiveMaxApiVersion. - // (In theory an old exception could be mapped to more then one type in the case we want the latest server + // (In theory an old exception could be mapped to more than one type in the case we want the latest server // to send different older types to different versions of older clients. This method is used only on client when converting a type // from an older server, so we want the latest mapping of the older type.) if (!s_exceptionsWithAttributeMapping.TryGetValue(attribute.TypeName, out cachedValue) || attribute.ExclusiveMaxApiVersion > cachedValue.Item1) From 2faa01f55fd118f84ee02ad21ab49afcae8db88b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:14:04 -0500 Subject: [PATCH 160/184] spelling: the type of the field to which the path maps Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Contracts/Patch/PatchOperation.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/WebApi/WebApi/Contracts/Patch/PatchOperation.cs b/src/Sdk/WebApi/WebApi/Contracts/Patch/PatchOperation.cs index 433100c77d9..7ac9681609d 100644 --- a/src/Sdk/WebApi/WebApi/Contracts/Patch/PatchOperation.cs +++ b/src/Sdk/WebApi/WebApi/Contracts/Patch/PatchOperation.cs @@ -209,7 +209,7 @@ protected static object ValidateAndGetValue(JsonPatchOperation operation) } /// - /// Gets The type of the field the path maps to. + /// Gets the type of the field to which the path maps. /// /// The type of the parent object. /// The path to evaluate. @@ -220,7 +220,7 @@ private static Type GetType(Type type, string path) } /// - /// Gets The type of the field the path maps to. + /// Gets the type of the field to which the path maps. /// /// The type of the parent object. /// The path enumeration to evaluate. From 5de7338c356d65da6073e7a948e3a1388e37f9af Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:08:46 -0500 Subject: [PATCH 161/184] spelling: the Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/JobExtension.cs | 2 +- src/Sdk/WorkflowParser/Conversion/PermissionsHelper.cs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Runner.Worker/JobExtension.cs b/src/Runner.Worker/JobExtension.cs index 39051c08e69..1289275f4a2 100644 --- a/src/Runner.Worker/JobExtension.cs +++ b/src/Runner.Worker/JobExtension.cs @@ -407,7 +407,7 @@ public async Task> InitializeJob(IExecutionContext jobContext, Pipel if (snapshotRequest != null) { var snapshotOperationProvider = HostContext.GetService(); - // Check that that runner is capable of taking a snapshot + // Check that the runner is capable of taking a snapshot snapshotOperationProvider.RunSnapshotPreflightChecks(context); // Add post job step to write snapshot file diff --git a/src/Sdk/WorkflowParser/Conversion/PermissionsHelper.cs b/src/Sdk/WorkflowParser/Conversion/PermissionsHelper.cs index b5340895087..76c7eb6bb0d 100644 --- a/src/Sdk/WorkflowParser/Conversion/PermissionsHelper.cs +++ b/src/Sdk/WorkflowParser/Conversion/PermissionsHelper.cs @@ -1,4 +1,4 @@ -#nullable enable +#nullable enable using System; using System.Linq; @@ -17,7 +17,7 @@ internal static class PermissionsHelper /// The permissions within the reusable workflow file. These may be defined either at the root of the file, or may be defined on a job within the file. /// (Optional) The max permissions explicitly allowed by the caller /// The default permissions policy - /// Indicates whether the reusable workflow exists within the same trust boundary (e.g. enterprise/organization) as a the root workflow + /// Indicates whether the reusable workflow exists within the same trust boundary (e.g. enterprise/organization) as the root workflow internal static void ValidateEmbeddedPermissions( TemplateContext context, ReusableWorkflowJob workflowJob, @@ -76,4 +76,4 @@ private static Permissions CreatePermissionsFromPolicy( } } } -} \ No newline at end of file +} From 236ed86526dcf6da17ef4e3689a5961dfcfd33ef Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:11:33 -0500 Subject: [PATCH 162/184] spelling: then Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Sdk/Util/IOUtil.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Sdk/Util/IOUtil.cs b/src/Runner.Sdk/Util/IOUtil.cs index f381d6a5268..4f933e6a8f1 100644 --- a/src/Runner.Sdk/Util/IOUtil.cs +++ b/src/Runner.Sdk/Util/IOUtil.cs @@ -260,7 +260,7 @@ public static void MoveDirectory(string sourceDir, string targetDir, string stag /// /// Given a path and directory, return the path relative to the directory. If the path is not - /// under the directory the path is returned un modified. Examples: + /// under the directory then the path is returned un modified. Examples: /// MakeRelative(@"d:\src\project\foo.cpp", @"d:\src") -> @"project\foo.cpp" /// MakeRelative(@"d:\src\project\foo.cpp", @"d:\specs") -> @"d:\src\project\foo.cpp" /// MakeRelative(@"d:\src\project\foo.cpp", @"d:\src\proj") -> @"d:\src\project\foo.cpp" From e2363a6755e5ce3261b5e51f072a15d70187ce0d Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:40:10 -0500 Subject: [PATCH 163/184] spelling: timeout Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index 94baac6b578..d9ec93fb743 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -678,7 +678,7 @@ await processChannel.SendAsync( // worker haven't exit within cancellation timeout. if (completedTask != workerProcessTask) { - Trace.Info($"worker process for job {message.JobId} haven't exit within cancellation timout, kill running worker."); + Trace.Info($"worker process for job {message.JobId} haven't exit within cancellation timeout, kill running worker."); workerProcessCancelTokenSource.Cancel(); try { From 2af7ed247471d09ed2964c86980c27e0d9d2e70c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:05:03 -0500 Subject: [PATCH 164/184] spelling: to Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Sdk/ProcessInvoker.cs | 12 ++++++------ src/Sdk/Common/Common/Utility/UriUtility.cs | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Runner.Sdk/ProcessInvoker.cs b/src/Runner.Sdk/ProcessInvoker.cs index 4069cad7e75..25af0a6f283 100644 --- a/src/Runner.Sdk/ProcessInvoker.cs +++ b/src/Runner.Sdk/ProcessInvoker.cs @@ -704,11 +704,11 @@ private void WindowsKillProcessTree() } Trace.Verbose($"Start killing process tree of process '{pid.Value}'."); - Stack processesNeedtoKill = new Stack(); - processesNeedtoKill.Push(new ProcessTerminationInfo(pid.Value, false)); - while (processesNeedtoKill.Count() > 0) + Stack processesToKill = new Stack(); + processesToKill.Push(new ProcessTerminationInfo(pid.Value, false)); + while (processesToKill.Count() > 0) { - ProcessTerminationInfo procInfo = processesNeedtoKill.Pop(); + ProcessTerminationInfo procInfo = processesToKill.Pop(); List childProcessesIds = new List(); if (!procInfo.ChildPidExpanded) { @@ -719,11 +719,11 @@ private void WindowsKillProcessTree() if (childProcessesIds.Count > 0) { Trace.Info($"Need kill all child processes trees before kill process '{procInfo.Pid}'."); - processesNeedtoKill.Push(new ProcessTerminationInfo(procInfo.Pid, true)); + processesToKill.Push(new ProcessTerminationInfo(procInfo.Pid, true)); foreach (var childPid in childProcessesIds) { Trace.Info($"Child process '{childPid}' needs be killed first."); - processesNeedtoKill.Push(new ProcessTerminationInfo(childPid, false)); + processesToKill.Push(new ProcessTerminationInfo(childPid, false)); } } else diff --git a/src/Sdk/Common/Common/Utility/UriUtility.cs b/src/Sdk/Common/Common/Utility/UriUtility.cs index 4ade8166a57..0b8b8850b4c 100644 --- a/src/Sdk/Common/Common/Utility/UriUtility.cs +++ b/src/Sdk/Common/Common/Utility/UriUtility.cs @@ -176,7 +176,7 @@ public static string GetInvariantAbsoluteUri(Uri uri) /// If true, any leading forward slashes on the relative path argument are discarded. /// The base Uri with the relativePath appended to it. /// - /// This is intended to be an alternative the Uri constructor, which can remove several path segments from your arguments. For example: + /// This is intended to be an alternative to the Uri constructor, which can remove several path segments from your arguments. For example: /// /// new Uri(new Uri("http://localhost/abc/efg/"), "/Hello/World") returns http://localhost/Hello/World ("/abc/efg/" removed due to absolute path argument) /// new Uri(new Uri("http://localhost/dir1/dir2"), "hi.txt") returns http://localhost/dir1/hi.txt ("dir2" removed due to lack of trailing slash) @@ -197,7 +197,7 @@ public static Uri Combine(string baseUri, String relativePath, Boolean treatAbso /// If true, any leading forward slashes on the relative path argument are discarded. /// The base Uri with the relativePath appended to it. /// - /// This is intended to be an alternative the Uri constructor, which can remove several path segments from your arguments. For example: + /// This is intended to be an alternative to the Uri constructor, which can remove several path segments from your arguments. For example: /// /// new Uri(new Uri("http://localhost/abc/efg/"), "/Hello/World") returns http://localhost/Hello/World ("/abc/efg/" removed due to absolute path argument) /// new Uri(new Uri("http://localhost/dir1/dir2"), "hi.txt") returns http://localhost/dir1/hi.txt ("dir2" removed due to lack of trailing slash) From 67884894e36204b19354b55563ef5454d33a164a Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:39:51 -0500 Subject: [PATCH 165/184] spelling: todo Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/UriUtility.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/UriUtility.cs b/src/Sdk/Common/Common/Utility/UriUtility.cs index 0b8b8850b4c..7cf3ded3259 100644 --- a/src/Sdk/Common/Common/Utility/UriUtility.cs +++ b/src/Sdk/Common/Common/Utility/UriUtility.cs @@ -490,7 +490,7 @@ public static bool IsSameMachine(string hostname1, string hostname2) // A machine name could not be resolved, for the purposes of this method, // assume that machines are not the same and ignore the error - // ToDo: tedchamb come back to this + // TODO: tedchamb come back to this //TeamFoundationTrace.TraceException(ex); } From 8d5cdc219b5eb393c0c2531e5075d5d7fcf66778 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 07:57:01 -0500 Subject: [PATCH 166/184] spelling: two Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1751-runner-job-hooks.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/adrs/1751-runner-job-hooks.md b/docs/adrs/1751-runner-job-hooks.md index 6da16e28cc0..afcc70ef0fc 100644 --- a/docs/adrs/1751-runner-job-hooks.md +++ b/docs/adrs/1751-runner-job-hooks.md @@ -19,7 +19,7 @@ This feature is mainly intended for self hosted runner administrators. - Security applications, security should be handled on the policy side on the server, not decentralized on each runner ## Hooks -- We will expose 2 variables that users can set to enable hooks +- We will expose two variables that users can set to enable hooks - `ACTIONS_RUNNER_HOOK_JOB_STARTED` - `ACTIONS_RUNNER_HOOK_JOB_COMPLETED` @@ -63,7 +63,7 @@ These are **synchronous** hooks, so they will block job execution while they are - There will be no support for `continue-on-error` ## Key Decisions -- We will expose 2 variables that users can set to enable hooks +- We will expose two variables that users can set to enable hooks - `ACTIONS_RUNNER_HOOK_JOB_STARTED` - `ACTIONS_RUNNER_HOOK_JOB_COMPLETED` - Users can set these variables to the path of a `.sh` or `.ps1` file, which we will execute when Jobs are started or completed. From b104b5622bcc022f68a7b1f1e36e8982eb82ef65 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:00:56 -0500 Subject: [PATCH 167/184] spelling: typescript Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Misc/expressionFunc/hashFiles/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Misc/expressionFunc/hashFiles/README.md b/src/Misc/expressionFunc/hashFiles/README.md index 0f05b216154..ddc99e073ec 100644 --- a/src/Misc/expressionFunc/hashFiles/README.md +++ b/src/Misc/expressionFunc/hashFiles/README.md @@ -1,3 +1,3 @@ To compile this package (output will be stored in `Misc/layoutbin`) run `npm install && npm run prepare && npm run all`. -When you commit changes to the JSON or Typescript file, the javascript binary will be automatically re-compiled and added to the latest commit. +When you commit changes to the JSON or TypeScript file, the javascript binary will be automatically re-compiled and added to the latest commit. From 2f2ea2216707ab99764b8e5ffd7befbaff78010e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:11:58 -0500 Subject: [PATCH 168/184] spelling: unattended Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- scripts/create-latest-svc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/create-latest-svc.sh b/scripts/create-latest-svc.sh index 0646381abf1..e0c896954dd 100755 --- a/scripts/create-latest-svc.sh +++ b/scripts/create-latest-svc.sh @@ -171,7 +171,7 @@ sudo chown -R $svc_user ./runner pushd ./runner #--------------------------------------- -# Unattend config +# Unattended config #--------------------------------------- runner_url="https://github.com/${runner_scope}" if [ -n "${ghe_hostname}" ]; then From 3975520158ae04b8a8b434beddd0c1e6e27c6050 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:11:38 -0500 Subject: [PATCH 169/184] spelling: unmodified Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Sdk/Util/IOUtil.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Sdk/Util/IOUtil.cs b/src/Runner.Sdk/Util/IOUtil.cs index 4f933e6a8f1..7e07c0b8096 100644 --- a/src/Runner.Sdk/Util/IOUtil.cs +++ b/src/Runner.Sdk/Util/IOUtil.cs @@ -260,7 +260,7 @@ public static void MoveDirectory(string sourceDir, string targetDir, string stag /// /// Given a path and directory, return the path relative to the directory. If the path is not - /// under the directory then the path is returned un modified. Examples: + /// under the directory then the path is returned unmodified. Examples: /// MakeRelative(@"d:\src\project\foo.cpp", @"d:\src") -> @"project\foo.cpp" /// MakeRelative(@"d:\src\project\foo.cpp", @"d:\specs") -> @"d:\src\project\foo.cpp" /// MakeRelative(@"d:\src\project\foo.cpp", @"d:\src\proj") -> @"d:\src\project\foo.cpp" From 5e0fb1bee4e2a8f5fdbdb6bc2cf23511e2473518 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:41:51 -0500 Subject: [PATCH 170/184] spelling: unnecessarily Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/DTExpressions2/Expressions2/Sdk/Literal.cs | 2 +- src/Sdk/DTExpressions2/Expressions2/Sdk/Wildcard.cs | 2 +- src/Sdk/Expressions/Sdk/Literal.cs | 2 +- src/Sdk/Expressions/Sdk/Wildcard.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/Literal.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/Literal.cs index 75e65f62f0b..052e96b7de5 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/Literal.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/Literal.cs @@ -18,7 +18,7 @@ public Literal(Object val) public Object Value { get; } // Prevent the value from being stored on the evaluation context. - // This avoids unneccessarily duplicating the value in memory. + // This avoids unnecessarily duplicating the value in memory. protected sealed override Boolean TraceFullyRealized => false; internal sealed override String ConvertToExpression() diff --git a/src/Sdk/DTExpressions2/Expressions2/Sdk/Wildcard.cs b/src/Sdk/DTExpressions2/Expressions2/Sdk/Wildcard.cs index af11c58ea07..1470b1d2061 100644 --- a/src/Sdk/DTExpressions2/Expressions2/Sdk/Wildcard.cs +++ b/src/Sdk/DTExpressions2/Expressions2/Sdk/Wildcard.cs @@ -7,7 +7,7 @@ namespace GitHub.DistributedTask.Expressions2.Sdk public sealed class Wildcard : ExpressionNode { // Prevent the value from being stored on the evaluation context. - // This avoids unneccessarily duplicating the value in memory. + // This avoids unnecessarily duplicating the value in memory. protected sealed override Boolean TraceFullyRealized => false; internal sealed override String ConvertToExpression() diff --git a/src/Sdk/Expressions/Sdk/Literal.cs b/src/Sdk/Expressions/Sdk/Literal.cs index d01a33be2ef..6ad275fa0e1 100644 --- a/src/Sdk/Expressions/Sdk/Literal.cs +++ b/src/Sdk/Expressions/Sdk/Literal.cs @@ -18,7 +18,7 @@ public Literal(Object val) public Object Value { get; } // Prevent the value from being stored on the evaluation context. - // This avoids unneccessarily duplicating the value in memory. + // This avoids unnecessarily duplicating the value in memory. protected sealed override Boolean TraceFullyExpanded => false; public sealed override String ConvertToExpression() diff --git a/src/Sdk/Expressions/Sdk/Wildcard.cs b/src/Sdk/Expressions/Sdk/Wildcard.cs index ec408daa385..94a134f6617 100644 --- a/src/Sdk/Expressions/Sdk/Wildcard.cs +++ b/src/Sdk/Expressions/Sdk/Wildcard.cs @@ -7,7 +7,7 @@ namespace GitHub.Actions.Expressions.Sdk public sealed class Wildcard : ExpressionNode { // Prevent the value from being stored on the evaluation context. - // This avoids unneccessarily duplicating the value in memory. + // This avoids unnecessarily duplicating the value in memory. protected sealed override Boolean TraceFullyExpanded => false; public sealed override String ConvertToExpression() From 9cb5d835ddf9585f7c548ba679673501edf7886a Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:13:02 -0500 Subject: [PATCH 171/184] spelling: unnecessary Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/WrappedException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/WrappedException.cs b/src/Sdk/WebApi/WebApi/WrappedException.cs index d1c68cd8be0..16d342ad4aa 100644 --- a/src/Sdk/WebApi/WebApi/WrappedException.cs +++ b/src/Sdk/WebApi/WebApi/WrappedException.cs @@ -408,7 +408,7 @@ private static Assembly ResolveAssembly(AssemblyName asmName) // DEVNOTE: Do not tack-on the version information, instead let the // assembly load without it so that it may resolve to the appropriate. // Otherwise, translation down the stack may fail due to version mismatch - // and that ends up creating un-necessary retries on certain user defined exceptions. + // and that ends up creating unnecessary retries on certain user defined exceptions. // newName.Version = Assembly.GetExecutingAssembly().GetName().Version; newName.SetPublicKeyToken(asmName.GetPublicKeyToken()); From 5c6474c25f5319d5d1a37accd720d08347af714e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:42:06 -0500 Subject: [PATCH 172/184] spelling: unsanitized Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- docs/adrs/1891-container-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/1891-container-hooks.md b/docs/adrs/1891-container-hooks.md index 2c7f8ab9958..ac56839d9dc 100644 --- a/docs/adrs/1891-container-hooks.md +++ b/docs/adrs/1891-container-hooks.md @@ -46,7 +46,7 @@ All text written to stdout or stderr should appear in the job or step logs. With 1. Wrapping the json in some unique tag and processing it like we do commands 2. Writing to a file -For 1, users typically view logging information as a safe action, so we worry someone accidentally logging unsantized information and causing unexpected or insecure behavior. We eventually plan to move off of stdout/stderr style commands in favor of a runner cli. +For 1, users typically view logging information as a safe action, so we worry someone accidentally logging unsanitized information and causing unexpected or insecure behavior. We eventually plan to move off of stdout/stderr style commands in favor of a runner cli. Investing in this area doesn't make a lot of sense at this time. While writing to a file to communicate isn't the most ideal pattern, its an existing pattern in the runner and serves us well, so lets reuse it. From 93907d9c5945cb275fc88c0ac021bda5282d8e4e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:22:32 -0500 Subject: [PATCH 173/184] spelling: until locked-until Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Listener/JobDispatcher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Listener/JobDispatcher.cs b/src/Runner.Listener/JobDispatcher.cs index d9ec93fb743..1d3114dc59f 100644 --- a/src/Runner.Listener/JobDispatcher.cs +++ b/src/Runner.Listener/JobDispatcher.cs @@ -917,7 +917,7 @@ private async Task RenewJobRequestAsync(IRunnerServer runnerServer, int poolId, } else { - // retry till reach lockeduntil + 5 mins extra buffer. + // retry until locked-until + 5 mins extra buffer. remainingTime = request.LockedUntil.Value + TimeSpan.FromMinutes(5) - DateTime.UtcNow; } From d9753531835d743c042d5f0b788baf67991a4265 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:12:27 -0500 Subject: [PATCH 174/184] spelling: unzip Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/ActionManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/ActionManager.cs b/src/Runner.Worker/ActionManager.cs index 17363577ca2..51922cd24ee 100644 --- a/src/Runner.Worker/ActionManager.cs +++ b/src/Runner.Worker/ActionManager.cs @@ -855,7 +855,7 @@ private async Task DownloadRepositoryActionAsync(IExecutionContext executionCont } catch (InvalidDataException e) { - throw new InvalidActionArchiveException($"Can't un-zip archive file: {archiveFile}. action being checked out: {downloadInfo.NameWithOwner}@{downloadInfo.Ref}. error: {e}."); + throw new InvalidActionArchiveException($"Can't unzip archive file: {archiveFile}. action being checked out: {downloadInfo.NameWithOwner}@{downloadInfo.Ref}. error: {e}."); } #else string tar = WhichUtil.Which("tar", require: true, trace: Trace); From cc97d39f88e0f019b435b923ada87551bbef45a0 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:42:23 -0500 Subject: [PATCH 175/184] spelling: update Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/JobServerQueue.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Common/JobServerQueue.cs b/src/Runner.Common/JobServerQueue.cs index be888465b4b..9d0febdb502 100644 --- a/src/Runner.Common/JobServerQueue.cs +++ b/src/Runner.Common/JobServerQueue.cs @@ -891,8 +891,8 @@ private async Task UploadFile(UploadFileInfo file) } // Create a new record and only set the Log field - var attachmentUpdataRecord = new TimelineRecord() { Id = file.TimelineRecordId, Log = taskLog }; - QueueTimelineRecordUpdate(file.TimelineId, attachmentUpdataRecord); + var attachmentUpdateRecord = new TimelineRecord() { Id = file.TimelineRecordId, Log = taskLog }; + QueueTimelineRecordUpdate(file.TimelineId, attachmentUpdateRecord); } else { From 873974edfb1c74bf515a5d273dc5d64ffa0df329 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:42:39 -0500 Subject: [PATCH 176/184] spelling: value Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/Common/Common/Utility/UriExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/Common/Common/Utility/UriExtensions.cs b/src/Sdk/Common/Common/Utility/UriExtensions.cs index e25d8f0c8d6..6908894e373 100644 --- a/src/Sdk/Common/Common/Utility/UriExtensions.cs +++ b/src/Sdk/Common/Common/Utility/UriExtensions.cs @@ -62,7 +62,7 @@ public static Uri AppendQuery(this Uri uri, NameValueCollection queryValues) } /// - /// Performs an Add similar to the NameValuCollection 'Add' method where the value gets added as an item in a comma delimited list if the key is already present. + /// Performs an Add similar to the NameValueCollection 'Add' method where the value gets added as an item in a comma delimited list if the key is already present. /// /// /// From 1d3edb2bcf9aee8a497e5a575e8e689e55cebd63 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:42:48 -0500 Subject: [PATCH 177/184] spelling: variables Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Common/JobServerQueue.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Runner.Common/JobServerQueue.cs b/src/Runner.Common/JobServerQueue.cs index 9d0febdb502..71159790ce6 100644 --- a/src/Runner.Common/JobServerQueue.cs +++ b/src/Runner.Common/JobServerQueue.cs @@ -183,7 +183,7 @@ public void Start(Pipelines.AgentJobRequestMessage jobRequest, bool resultsServi } // WebConsoleLine queue and FileUpload queue are always best effort - // TimelineUpdate queue error will become critical when timeline records contain output variabls. + // TimelineUpdate queue error will become critical when timeline records contain output variables. public async Task ShutdownAsync() { if (!_queueInProcess) @@ -214,7 +214,7 @@ public async Task ShutdownAsync() Trace.Info("Results upload queue drained."); // ProcessTimelinesUpdateQueueAsync() will throw exception during shutdown - // if there is any timeline records that failed to update contains output variabls. + // if there is any timeline records that failed to update contains output variables. Trace.Verbose("Draining timeline update queue."); await ProcessTimelinesUpdateQueueAsync(runOnce: true); Trace.Info("Timeline update queue drained."); From 9cb58cc4a74a015dded945a3b48ba7bace3b19e8 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:39:27 -0500 Subject: [PATCH 178/184] spelling: warnings Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 9c069b12f6f..4e4feff7060 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -53,7 +53,7 @@ $(DefineConstants);DEBUG - + true From ccea13fbe05541ea2aa849c84a8b4b24e3a64e22 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:00:35 -0500 Subject: [PATCH 179/184] spelling: well-formed absolute Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Plugins/Repository/GitCliManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Plugins/Repository/GitCliManager.cs b/src/Runner.Plugins/Repository/GitCliManager.cs index 5a0790e7f9c..f37562af350 100644 --- a/src/Runner.Plugins/Repository/GitCliManager.cs +++ b/src/Runner.Plugins/Repository/GitCliManager.cs @@ -451,7 +451,7 @@ public async Task GitGetFetchUrl(RunnerActionPluginExecutionContext context } else { - context.Debug($"The Origin fetch url from git config: {remoteFetchUrl} is not a absolute well formed url."); + context.Debug($"The Origin fetch url from git config: {remoteFetchUrl} is not a well-formed absolute url."); } } else From 6f1ece14316691489eecbec8c31e61f9014dd461 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:15:19 -0500 Subject: [PATCH 180/184] spelling: when Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Runner.Worker/DiagnosticLogManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Runner.Worker/DiagnosticLogManager.cs b/src/Runner.Worker/DiagnosticLogManager.cs index afc811b15e4..1ecd5e22d3d 100644 --- a/src/Runner.Worker/DiagnosticLogManager.cs +++ b/src/Runner.Worker/DiagnosticLogManager.cs @@ -129,7 +129,7 @@ private List GetWorkerDiagnosticLogFiles(string diagnosticFolder, DateTi var workerLogFiles = new List(); var directoryInfo = new DirectoryInfo(diagnosticFolder); - // Sometimes the timing is off between the job start time and the time the worker log file is created. + // Sometimes the timing is off between the job start time and the time when the worker log file is created. // This adds a small buffer that provides some leeway in case the worker log file was created slightly // before the time we log as job start time. int bufferInSeconds = -30; From e95c0e971308c26c5f854e56f1374acca4128854 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:01:35 -0500 Subject: [PATCH 181/184] spelling: whether or not Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../DTWebApi/WebApi/ServiceEndpointLegacy/ServiceEndpoint.cs | 2 +- src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Sdk/DTWebApi/WebApi/ServiceEndpointLegacy/ServiceEndpoint.cs b/src/Sdk/DTWebApi/WebApi/ServiceEndpointLegacy/ServiceEndpoint.cs index 65c133cb733..c6d91120f1d 100644 --- a/src/Sdk/DTWebApi/WebApi/ServiceEndpointLegacy/ServiceEndpoint.cs +++ b/src/Sdk/DTWebApi/WebApi/ServiceEndpointLegacy/ServiceEndpoint.cs @@ -140,7 +140,7 @@ public IDictionary Data } /// - /// Indicates whether service endpoint is shared with other projects or not. + /// Indicates whether or not service endpoint is shared with other projects. /// [DataMember(EmitDefaultValue = true)] public Boolean IsShared diff --git a/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs b/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs index dd7a390a2c4..d73409a18f2 100644 --- a/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs +++ b/src/Sdk/WebApi/WebApi/Location/ServerDataProvider.cs @@ -529,7 +529,7 @@ public async Task FindServiceDefinitionAsync( ServiceDefinition definition; if (m_locationDataCacheManager.TryFindService(serviceType, serviceIdentifier, out definition)) { - // If we hit a cache entry return it whether it is null or not. + // If we hit a cache entry return it whether or not it is null. return definition; } From c882b05284b00e69b7c27cb0215cb661c3322a07 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:43:54 -0500 Subject: [PATCH 182/184] spelling: with the Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs b/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs index 074a849d327..a725c139251 100644 --- a/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs +++ b/src/Sdk/WebApi/WebApi/Location/LocationServerMapCache.cs @@ -233,7 +233,7 @@ private static void EnsureCacheLoaded() } catch (Exception) { - // It looks like something is wrong witht he cache, lets just hide this + // It looks like something is wrong with the cache, lets just hide this // exception and work without it. s_cacheUnavailable = true; } From bc20dd679c92e040e5e4bdded2f50fad339a2f30 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:43:23 -0500 Subject: [PATCH 183/184] spelling: workflow Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .../WorkflowParser/Conversion/WorkflowTemplateConverter.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs b/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs index 0c7a74564cb..d679fd6d25e 100644 --- a/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs +++ b/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs @@ -1963,7 +1963,7 @@ private static ExpressionData ConvertToInputValueDefinedType( break; default: - // The schema for worflow_call.inputs only allows boolean, string, or number. + // The schema for workflow_call.inputs only allows boolean, string, or number. // We should have failed earlier if we receive any other type. throw new ArgumentException($"Unexpected defined type '{definedType.Value}' when converting input value for '{key}'"); } @@ -2004,13 +2004,13 @@ internal static IDictionary ConvertToWorkflowJobOutputs(Template foreach (var definition in outputs) { - var spec = definition.Value.AssertMapping("workfow job output spec").ToDictionary( + var spec = definition.Value.AssertMapping("workflow job output spec").ToDictionary( x => x.Key.AssertString("outputs spec key").Value, x => x.Value, StringComparer.OrdinalIgnoreCase ); - var value = spec["value"].AssertString("workfow job output value").Value; + var value = spec["value"].AssertString("workflow job output value").Value; result.Add(definition.Key, value); } From cc00ae38ffa6b8c9ad845e91b345933a0a8c0f67 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:12:41 -0500 Subject: [PATCH 184/184] spelling: written Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/Test/L0/ProcessInvokerL0.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Test/L0/ProcessInvokerL0.cs b/src/Test/L0/ProcessInvokerL0.cs index dc3629e67aa..3c4e6e8e13b 100644 --- a/src/Test/L0/ProcessInvokerL0.cs +++ b/src/Test/L0/ProcessInvokerL0.cs @@ -402,7 +402,7 @@ public async Task RedirectSTDINKeepStreamOpen() [Fact] [Trait("Level", "L0")] [Trait("Category", "Common")] - public async Task OomScoreAdjIsWriten_Default() + public async Task OomScoreAdjIsWritten_Default() { // We are on a system that supports oom_score_adj in procfs as assumed by ProcessInvoker string testProcPath = $"/proc/{Process.GetCurrentProcess().Id}/oom_score_adj"; @@ -438,7 +438,7 @@ public async Task OomScoreAdjIsWriten_Default() [Fact] [Trait("Level", "L0")] [Trait("Category", "Common")] - public async Task OomScoreAdjIsWriten_FromEnv() + public async Task OomScoreAdjIsWritten_FromEnv() { // We are on a system that supports oom_score_adj in procfs as assumed by ProcessInvoker string testProcPath = $"/proc/{Process.GetCurrentProcess().Id}/oom_score_adj";