Skip to content

Enable powershell via stdin by default

Arran Walker requested to merge ajwalker/powershell-via-stdin into main

What does this MR do?

Passes Powershell scripts via stdin for all executors, rather than just shell and custom.

A feature flag has been added to restore the old behaviour in case we encounter an edge case, but confidence is high because we've been doing this with pwsh without issue for some time. The feature flag should be short lived and eventually removed.

Why was this MR needed?

There were previously two Powershell related bugs preventing this:

  • Script execution via stdin works as if commands are being typed at a shell, which has different execution characteristics. We've solved this by wrapping the script in blocks.
  • Input and output encoding was not UTF-8 encoded, but our input scripts were. This was fixed in Force powershell/pwsh input/output encoding to ... (!3707 - merged).

What's the best way to test this MR?

TBC

What are the relevant issue numbers?

Closes #29000 (closed)

Merge request reports