Compare commits

...

5 Commits

Author SHA1 Message Date
Ferenc Hammerl
d84b751b33 Update releaseVersion 2023-01-30 17:03:37 +01:00
Ferenc Hammerl
e0a3781062 M299/backport 5852 (#2405)
* set env in ProcessInvoker sanitized (#2280)

* set env in ProcessInvoker sanitized

* Update runnerversion and rel notes and make it prerelase

---------

Co-authored-by: Stefan Ruvceski <96768603+ruvceskistefan@users.noreply.github.com>
2023-01-30 16:59:05 +01:00
TingluoHuang
2e44f985bd Release 2.299.1 runner. 2022-11-02 19:59:20 -04:00
Tingluo Huang
c638ccf940 Forward parameters into run() func in run.sh. (#2240) 2022-11-02 19:58:07 -04:00
Cory Miller
c0d21101a3 Release 2.299.0 runner 2022-11-02 14:56:56 -04:00
7 changed files with 86 additions and 5 deletions

View File

@@ -301,6 +301,7 @@ jobs:
release_name: "v${{ steps.releaseNote.outputs.version }}" release_name: "v${{ steps.releaseNote.outputs.version }}"
body: | body: |
${{ steps.releaseNote.outputs.note }} ${{ steps.releaseNote.outputs.note }}
prerelease: true
# Upload release assets (full runner packages) # Upload release assets (full runner packages)
- name: Upload Release Asset (win-x64) - name: Upload Release Asset (win-x64)

View File

@@ -2,11 +2,12 @@
- Displays the error logs in dedicated sub-sections of the Initialize containers section (#2182) - Displays the error logs in dedicated sub-sections of the Initialize containers section (#2182)
- Add generateServiceConfig option for configure command (#2226) - Add generateServiceConfig option for configure command (#2226)
- Setting debug using GitHub Action variables (#2234) - Setting debug using GitHub Action variables (#2234)
- run.sh installs SIGINT and SIGTERM traps to gracefully stop runner (#2233) - run.sh installs SIGINT and SIGTERM traps to gracefully stop runner (#2233, 2240)
## Bugs ## Bugs
- Use Global.Variables instead of JobContext and include action path/ref in the message. (#2214) - Use Global.Variables instead of JobContext and include action path/ref in the message. (#2214)
- Sanitize Windows ENVs (#2280)
## Misc ## Misc
- Allow '--disableupdate' in create-latest-svc.sh (#2201) - Allow '--disableupdate' in create-latest-svc.sh (#2201)

View File

@@ -1 +1 @@
<Update to ./src/runnerversion when creating release> 2.299.2

View File

@@ -54,7 +54,7 @@ runWithManualTrap() {
} }
if [[ -z "$RUNNER_MANUALLY_TRAP_SIG" ]]; then if [[ -z "$RUNNER_MANUALLY_TRAP_SIG" ]]; then
run run $*
else else
runWithManualTrap runWithManualTrap $*
fi fi

View File

@@ -264,7 +264,17 @@ namespace GitHub.Runner.Sdk
{ {
foreach (KeyValuePair<string, string> kvp in environment) foreach (KeyValuePair<string, string> kvp in environment)
{ {
#if OS_WINDOWS
string tempKey = String.IsNullOrWhiteSpace(kvp.Key) ? kvp.Key : kvp.Key.Split('\0')[0];
string tempValue = String.IsNullOrWhiteSpace(kvp.Value) ? kvp.Value : kvp.Value.Split('\0')[0];
if(!String.IsNullOrWhiteSpace(tempKey))
{
_proc.StartInfo.Environment[tempKey] = tempValue;
}
#else
_proc.StartInfo.Environment[kvp.Key] = kvp.Value; _proc.StartInfo.Environment[kvp.Key] = kvp.Value;
#endif
} }
} }

View File

@@ -128,7 +128,76 @@ namespace GitHub.Runner.Common.Tests
} }
} }
} }
#if OS_WINDOWS
[Fact]
[Trait("Level", "L0")]
[Trait("Category", "Common")]
public async Task SetTestEnvWithNullInKey()
{
using (TestHostContext hc = new(this))
{
Tracing trace = hc.GetTrace();
Int32 exitCode = -1;
var processInvoker = new ProcessInvokerWrapper();
processInvoker.Initialize(hc);
var stdout = new List<string>();
var stderr = new List<string>();
processInvoker.OutputDataReceived += (object sender, ProcessDataReceivedEventArgs e) =>
{
trace.Info(e.Data);
stdout.Add(e.Data);
};
processInvoker.ErrorDataReceived += (object sender, ProcessDataReceivedEventArgs e) =>
{
trace.Info(e.Data);
stderr.Add(e.Data);
};
exitCode = await processInvoker.ExecuteAsync("", "cmd.exe", "/c \"echo %TEST%\"", new Dictionary<string, string>() { { "TEST\0second", "first" } }, CancellationToken.None);
trace.Info("Exit Code: {0}", exitCode);
Assert.Equal(0, exitCode);
Assert.Equal("first", stdout.First(x => !string.IsNullOrWhiteSpace(x)));
}
}
[Fact]
[Trait("Level", "L0")]
[Trait("Category", "Common")]
public async Task SetTestEnvWithNullInValue()
{
using (TestHostContext hc = new(this))
{
Tracing trace = hc.GetTrace();
Int32 exitCode = -1;
var processInvoker = new ProcessInvokerWrapper();
processInvoker.Initialize(hc);
var stdout = new List<string>();
var stderr = new List<string>();
processInvoker.OutputDataReceived += (object sender, ProcessDataReceivedEventArgs e) =>
{
trace.Info(e.Data);
stdout.Add(e.Data);
};
processInvoker.ErrorDataReceived += (object sender, ProcessDataReceivedEventArgs e) =>
{
trace.Info(e.Data);
stderr.Add(e.Data);
};
exitCode = await processInvoker.ExecuteAsync("", "cmd.exe", "/c \"echo %TEST%\"", new Dictionary<string, string>() { { "TEST", "first\0second" } }, CancellationToken.None);
trace.Info("Exit Code: {0}", exitCode);
Assert.Equal(0, exitCode);
Assert.Equal("first", stdout.First(x => !string.IsNullOrWhiteSpace(x)));
}
}
#endif
[Fact] [Fact]
[Trait("Level", "L0")] [Trait("Level", "L0")]
[Trait("Category", "Common")] [Trait("Category", "Common")]

View File

@@ -1 +1 @@
2.299.0 2.299.2