Skip to content

update: use OpenVoxProject/openvox for vendored_module parsing as archived openvox-agent tree endpoint 404s#377

Open
griggi-ws wants to merge 6 commits into
voxpupuli:masterfrom
griggi-ws:master
Open

update: use OpenVoxProject/openvox for vendored_module parsing as archived openvox-agent tree endpoint 404s#377
griggi-ws wants to merge 6 commits into
voxpupuli:masterfrom
griggi-ws:master

Conversation

@griggi-ws
Copy link
Copy Markdown

@griggi-ws griggi-ws commented Feb 13, 2026

Updates the repo target + path to match the changes from moving openvox-agent into openvox.

Tests are actually demonstrating the current behavior (when explicitly running the generate_vendor_cache task, it's still getting a 404 on the same URL defined in the current release) - looks like it's installing the current release/upstream version rather than the PR codebase? Saw some tomfoolery with a hard coded local path given an environment var in one of the spec tests so presumably not a me thing

Locally installed via git source:

bundle exec rake generate_vendor_cache
/home/gavin/git/puppet-control/.vendor/bundle/ruby/3.2.0/gems/io-event-1.14.2/lib/io/event/support.rb:41: warning: IO::Buffer is experimental and both the Ruby and C interface may change in the future!
DEBUG    -> Reading /home/gavin/git/puppet-control/environment.conf
DEBUG    -> Making GET request to: https://api.github.com/repos/OpenVoxProject/openvox/git/trees/8.24.2
DEBUG    -> Caching response to: /home/gavin/git/puppet-control/spec/vendored_modules/repo_tree-puppet_agent-8.24.2.json

Within the cucumber tmp dir of the fork:

bundle exec rake generate_vendor_cache --trace
** Invoke generate_vendor_cache (first_time)
** Execute generate_vendor_cache
DEBUG    -> Reading /home/gavin/git/onceover/.cucumber/tmp/vendored/environment.conf
DEBUG    -> Making GET request to: https://api.github.com/repos/OpenVoxProject/openvox-agent/git/trees/8.24.2
rake aborted!
404 Not Found {"x-ratelimit-limit"=>["60"], "x-ratelimit-remaining"=>["58"], "x-ratelimit-reset"=>["1771014784"], "x-ratelimit-resource"=>["core"], "x-ratelimit-used"=>["2"]}

Comment thread features/support/env.rb
@@ -1,2 +1 @@


ENV['ONCEOVER_GEM_SOURCE'] ||= File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if there's a preferred pattern for achieving this, please correct me if so

@griggi-ws
Copy link
Copy Markdown
Author

Added a new ONCEOVER_GEM_SOURCE var that is defined in cucumber's features/support/env.rb, and is checked for by the Gemfile.erb template - this results in the test suite actually testing the code at hand rather than always testing the currently released gem. I'm rather unfamiliar with cucumber, so I bumbled a fair bit validating that worked as expected when ultimately some other silent failure was getting me.

Out-of-date cache entries seem to silently break the auto_vendored functionality altogether.
I've replaced the old out-of-date cached entries with new ones, as the test suite is sufficient to hit GitHub's rate limit on the tree endpoint; I'm not happy about it as this seems rather burdensome to maintain. An additional workflow to replace them when a new agent version is released might be worthwhile at some point.

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