Jenkins and plugins versions report
N/A - This applies to the repository's local PowerShell build scripts, not a Jenkins instance.
What Operating System are you using (both controller, and any agents involved in the problem)?
Windows (Local build/development environment)
Reproduction steps
- Dot-source
make.ps1 or run Test-Image locally.
- Simulate a failure during the
docker buildx step in Initialize-DockerComposeFile, or a failure during Invoke-Pester in Test-Image.
- Check the PowerShell environment variables (
$env:WINDOWS_VERSION_OVERRIDE, $env:CONTROLLER_TAG, $env:LATEST_LTS).
Expected Results
The script should safely restore or clean up temporary environment variables before exiting, so the developer's terminal remains pristine for the next build.
Actual Results
The variables are left permanently orphaned in the developer's terminal session because the script crashes before reaching the Remove-Item env:* lines. This silently hijacks subsequent local builds (e.g. building the wrong Windows version override). Additionally, building a Weekly release and then an LTS release bleeds state because the inverse release variable is never unset.
Anything else?
No response
Are you interested in contributing a fix?
Yes
Jenkins and plugins versions report
N/A - This applies to the repository's local PowerShell build scripts, not a Jenkins instance.
What Operating System are you using (both controller, and any agents involved in the problem)?
Windows (Local build/development environment)
Reproduction steps
make.ps1or runTest-Imagelocally.docker buildxstep inInitialize-DockerComposeFile, or a failure duringInvoke-PesterinTest-Image.$env:WINDOWS_VERSION_OVERRIDE,$env:CONTROLLER_TAG,$env:LATEST_LTS).Expected Results
The script should safely restore or clean up temporary environment variables before exiting, so the developer's terminal remains pristine for the next build.
Actual Results
The variables are left permanently orphaned in the developer's terminal session because the script crashes before reaching the
Remove-Item env:*lines. This silently hijacks subsequent local builds (e.g. building the wrong Windows version override). Additionally, building a Weekly release and then an LTS release bleeds state because the inverse release variable is never unset.Anything else?
No response
Are you interested in contributing a fix?
Yes