Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions bundler.d/ci_gem_pins.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# frozen_string_literal: true

# Pin gems that resolve to incompatible versions when bundled from the project

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I have a question about this approach. The comment mentions that these overrides are needed because the project root doesn't have a Gemfile.lock, which allows incompatible gem versions to be resolved. If that's the root cause, shouldn't we generate the image, commit the resulting Gemfile.lock, and rely on the locked dependency versions instead of introducing these temporary gem overrides? I'm wondering if that would provide a more deterministic and maintainable solution than pinning specific gems in code.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

That's what I thought as well at first, but the pattern across knapsacks is to gitignore the Gemfile.lock - it looks like committing it can cause problems with the Hyku submodule.

See, for example, this commit. See also this thread in the hykuup-everything Notch8 channel

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

That's right, I keep forgetting that about the knapsacks.

# root (which has no Gemfile.lock). Remove these once upstream Hyku PRs land:
# - blacklight_advanced_search 8.0 adds :facets_for_advanced_search_form to
# the default processor chain, breaking adv_search_builder_spec
# - json 2.13+ raises TypeError on JSON.load(Hash), breaking account_settings
# factory setup in tests
override_gem 'blacklight_advanced_search', '~> 7.0'
ensure_gem 'json', '~> 2.12.2'
Loading