Skip to content

fix(windows): handle prerelease Salt dirs in bootstrap-salt.ps1#2109

Merged
twangboy merged 3 commits intosaltstack:developfrom
twangboy:develop
Apr 30, 2026
Merged

fix(windows): handle prerelease Salt dirs in bootstrap-salt.ps1#2109
twangboy merged 3 commits intosaltstack:developfrom
twangboy:develop

Conversation

@twangboy
Copy link
Copy Markdown
Contributor

What does this PR do?

Align Get-AvailableVersions with salt-vmtools (PR #58): drop the href length heuristic that failed on names like 3008.0rc1, filter index links with a Salt-style pattern, and resolve latest / major pins using GA CalVer only via Compare-SaltCalVer. Prerelease builds remain installable by passing the exact directory name. Add an empty listing guard and use a single Invoke-WebRequest in the HTTP path. Document -Version behavior for latest vs GA vs exact RC names.

Align Get-AvailableVersions with salt-vmtools (PR saltstack#58): drop the
href length heuristic that failed on names like 3008.0rc1, filter
index links with a Salt-style pattern, and resolve latest / major
pins using GA CalVer only via Compare-SaltCalVer. Prerelease builds
remain installable by passing the exact directory name. Add an empty
listing guard and use a single Invoke-WebRequest in the HTTP path.
Document -Version behavior for latest vs GA vs exact RC names.
@twangboy twangboy enabled auto-merge (rebase) April 30, 2026 20:51
After killing the background `tee` that drains LOGPIPE, stdout/stderr
were still connected to the FIFO write side, so shell teardown could
hit SIGPIPE and return 141 even when bootstrap succeeded (seen under
`docker exec` with `bash -e` in CI).
Record `tee`'s PID with `$!` instead of `ps`/`grep`, and redirect fds to
/dev/null before sending SIGTERM so the parent never writes to a pipe
with no reader.
Also detach fds before exiting when TEE_PID is empty.
Mirror helpers used Windows/macOS Artifactory dirs with sort -V, which
preferred prerelease folders (e.g. 3008.0rc1) over GA builds and led to
non-existent RPM/package names (Photon salt-minion-* installs).
Filter directory names to GA CalVer (digits and dots only), restrict
major pins to ^MAJOR., fail with a clear error when nothing matches, fix
cd-home failures returning bogus exit codes, and propagate failures from
latest-resolution into Photon and macOS install paths.
@twangboy twangboy merged commit d3a45bf into saltstack:develop Apr 30, 2026
165 of 167 checks passed
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.

1 participant