Conversation
`tar_supports_zstd()` returned `true` for GNU tar >= 1.31 regardless of whether the zstd binary was present, causing extraction to fail on systems where tar shells out to zstd rather than linking against it. Fix by checking zstd availability upfront before any tar version check. Also remove the fallback branch in `get_ext()` that selected a zstd archive even when `tar_supports_zstd()` returned false, which could cause the same extraction failure on unrecognized tar versions. Fixes: jdx#8458
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request resolves an issue where the installer might attempt to use Highlights
Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
Greptile SummaryFixed installer failure on systems where Changes:
Impact: Confidence Score: 5/5
Important Files Changed
Last reviewed commit: c48ff2b |
There was a problem hiding this comment.
Code Review
The pull request effectively addresses the issue where tar.zst archives were being selected and attempted even when the zstd binary was not available, leading to extraction failures. The changes correctly prioritize checking for zstd binary availability before determining if tar supports zstd archives, and removes the problematic fallback logic in get_ext(). This significantly improves the robustness of the installer.
I am having trouble creating individual review comments. Click here to see my feedback.
packaging/standalone/install.envsubst (84-85)
Introducing an explicit check for zstd binary availability at the beginning of tar_supports_zstd() is an excellent and necessary change. This ensures that tar.zst is only considered if the zstd command is actually present on the system, preventing extraction failures when tar relies on an external zstd binary.
packaging/standalone/install.envsubst (78-79)
The removal of this elif block in get_ext() is a crucial improvement. Previously, this allowed tar.zst to be selected solely based on zstd binary availability, even if tar_supports_zstd (which now correctly includes the zstd check) would have returned false. This change prevents attempting to extract tar.zst with an incompatible tar version.
packaging/standalone/install.envsubst (87)
The modification to remove the && command -v zstd >/dev/null 2>&1 from this condition is correct. With the new upfront check for zstd availability (lines 84-85), this redundant check is no longer needed here, simplifying the logic.
|
Would love to see this merged ASAP. The current state breaks our release build 😄 . |
|
Also looking forward to the fix! Builds be broken 😭 |
|
Thanks for the quick fix. How long will it tak mise.run to update, do you think? UPDATE: aha, found the release pipeline. |
Bump mise from 2026.1.12 to 2026.3.3 which fixes the standalone installer's zstd archive selection on systems without zstd installed (jdx/mise#8460). Also pin MISE_INSTALL_EXT=tar.gz as a safeguard against future installer regressions.
tar_supports_zstd()returnedtruefor GNU tar >= 1.31 regardless of whether the zstd binary was present, causing extraction to fail on systems where tar shells out to zstd rather than linking against it. Fix by checking zstd availability upfront before any tar version check.Also remove the fallback branch in
get_ext()that selected a zstd archive even whentar_supports_zstd()returned false, which could cause the same extraction failure on unrecognized tar versions.Fixes: #8458