Skip to content

Run gzip directly in BuildDockerImages instead of through pwsh - #2166

Merged
APErebus merged 1 commit into
release/2026.3from
ap/backport-docker-gzip-fix
Sep 17, 2026
Merged

APErebus merged 1 commit into
release/2026.3from
ap/backport-docker-gzip-fix

Conversation

@APErebus

Copy link
Copy Markdown
Contributor

Backports #2154 as the LTS branch suffers from the same issue

BuildDockerImages launched PowerShell for exactly one thing: running
`gzip -k -9 -f` on the OCI tar. That made the step depend on whichever .NET
runtime the agent's `pwsh` global tool was built against, and on main's build
agent those no longer line up:

    App: /root/.dotnet/tools/pwsh
    Framework: 'Microsoft.NETCore.App', version '10.0.0'
    .NET location: .../.nuke/temp/dotnet-unix
    The following frameworks were found:
      8.0.30

The agent's `pwsh` needs .NET 10, and the only runtime on offer is the .NET 8
SDK that build.sh bootstraps into .nuke/temp and puts on PATH. Calling gzip
directly removes pwsh from the equation. This was the build's only use of
PowerShellTasks, so nothing else in the build cares about the agent's pwsh now.

Failures also surface properly. `pwsh -Command` exits 0 regardless of the
native exit code, so a failed gzip used to show up later as a confusing
missing-artifact error from PublishArtifacts. A Nuke Tool asserts a zero exit
code, so it now fails at the gzip call with gzip's stderr attached.

Verified with a throwaway target: resolves /usr/bin/gzip from PATH, arguments
pass through intact, -k keeps the .tar alongside the .gz, and a deliberate
failure raises `ProcessException: Process 'gzip' exited with code 1`.

Not addressed here: reaching the SDK bootstrap at all means `dotnet --version`
failed, so the agent no longer satisfies global.json's 8.0.419 pin. That costs
every build a full SDK download and belongs with the .NET 10 work.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@flin-8 flin-8 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@APErebus
APErebus enabled auto-merge September 17, 2026 01:53
@APErebus
APErebus merged commit 2298cfd into release/2026.3 Sep 17, 2026
26 checks passed
@APErebus
APErebus deleted the ap/backport-docker-gzip-fix branch September 17, 2026 03:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants