Skip to content

Remove psych dependency#81

Merged
nmburgan merged 2 commits intoOpenVoxProject:mainfrom
Sharpie:drop-psych-pin
Apr 5, 2026
Merged

Remove psych dependency#81
nmburgan merged 2 commits intoOpenVoxProject:mainfrom
Sharpie:drop-psych-pin

Conversation

@Sharpie
Copy link
Copy Markdown
Contributor

@Sharpie Sharpie commented Apr 4, 2026

Psych is a standard gem that is bundled with the Ruby installation and
thus having a pinned version forces Bundler/RV to re-compile a new copy
of something that is already present in the Ruby installation. This means
extra CPU cycles spent running C compilers and extra dependencies on -dev
packages to supply the required headers.

Psych was pinned to >= 4.0 in this commit to get consistent
YAML.safe_load behavior in older Ruby versions used by build pipelines:

puppetlabs/vanagon@463b0fb

This >= 4.0 requirement has been satisfied by the default gem set
since the release of Ruby 3.1.0, the minimum allowed Ruby version is
>= 3.2 since 4c4fe8a5, hence the original
reason for the pin is now moot.

Checklist

I have:

  • read the CONTRIBUTING.md document
  • read and accepted the Developer Certificate of Origin document and added a Signed-off-by annotation to each of my commits
  • tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)

@Sharpie
Copy link
Copy Markdown
Contributor Author

Sharpie commented Apr 4, 2026

Testing consisted of a full build of puppet-runtime-main and openvox-agent with the VANAGON_LOCATION environment variable set to a Git repo carrying this patch.

Psych is a standard gem that is bundled with the Ruby installation and
thus having a pinned version forces Bundler/RV to re-compile a new copy
of something that is already present in the Ruby installation. This means
extra CPU cycles spent running C compilers and extra dependencies on `-dev`
packages to supply the required headers.

Psych was pinned to `>= 4.0` in this commit to get consistent
`YAML.safe_load` behavior in older Ruby versions used by build pipelines:

  puppetlabs/vanagon@463b0fb

This `>= 4.0` requirement has been satisfied by the default gem set
since the release of Ruby 3.1.0, the minimum allowed Ruby version is
`>= 3.2` since OpenVoxProject/vanagon@4c4fe8a5, hence the original
reason for the pin is now moot.

Signed-off-by: Charlie Sharpsteen <charlie@overlookinfratech.com>
@bastelfreak
Copy link
Copy Markdown
Contributor

we really need to get rubocop pinned or finally use voxpupuli-rubocop here :(

@Sharpie
Copy link
Copy Markdown
Contributor Author

Sharpie commented Apr 5, 2026

I opened PR #82 with Rubocop fixes

@nmburgan nmburgan enabled auto-merge April 5, 2026 17:18
@nmburgan nmburgan merged commit 912b798 into OpenVoxProject:main Apr 5, 2026
6 checks passed
@Sharpie Sharpie deleted the drop-psych-pin branch April 5, 2026 19:31
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