Fix Debian arch detection, Hiera scope errors, and test reliability#228
Merged
Conversation
Use dpkg --print-architecture on Debian to return Facter-compatible arch values (amd64, arm64) instead of RbConfig's x86_64/aarch64, since recipes use Facts.arch in download URLs expecting Debian-style names. Hiera::Scope#[] now raises ScopeError for unknown keys instead of returning nil, making the Facter removal a loud failure for direct callers. Normal Hiera flow is unaffected since include? gates access. Fix DependencyInspector#update_package_db_once to only set the updated flag after a successful refresh, so failed apt-get update/yum makecache commands are retried. Fix test pollution in recipe_spec.rb where class_eval redefined Facts.arch and Facts.target permanently, leaking across tests. Replace with scoped RSpec stubs. Additional changes: - Add DependencyInspector.reset! for cleaner test setup - Extract find_command helper to resolve full paths (eliminates TOCTOU) - Warn on unmapped platforms in detect_osfamily - Fix bundler version selection for Ruby < 3.2 in distro tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Use dpkg --print-architecture on Debian to return Facter-compatible arch values (amd64, arm64) instead of RbConfig's x86_64/aarch64, since recipes use Facts.arch in download URLs expecting Debian-style names.
Hiera::Scope#[] now raises ScopeError for unknown keys instead of returning nil, making the Facter removal a loud failure for direct callers. Normal Hiera flow is unaffected since include? gates access.
Fix DependencyInspector#update_package_db_once to only set the updated flag after a successful refresh, so failed apt-get update/yum makecache commands are retried.
Fix test pollution in recipe_spec.rb where class_eval redefined Facts.arch and Facts.target permanently, leaking across tests. Replace with scoped RSpec stubs.
Additional changes: