Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update appraisal gemfiles with latest versions #66

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

javierjulio
Copy link

@javierjulio javierjulio commented Nov 11, 2024

I ran bundle exec appraisal update to update the gemfiles with the latest versions. I couldn't figure out how to run that command for updating Bundler so I updated each committed lock file with the current Bundler version to resolve the warning: constant DidYouMean::SPELL_CHECKERS is deprecated warnings.

CI is currently failing in other PR's because several dependencies (e.g. sass-embedded, zeitwerk, sqlite3, net-imap, etc.) now have different Ruby version requirements and since the lock files were being deleted in CI, it was pulling incompatible versions. This set a baseline in the default Gemfile, for example, using zeitwerk 2.6.x since 2.7.x requires Ruby 3.2+.

This required even more version locks due to other dependencies dropping Ruby 3.0 support. I figured it would be acceptable to remove Ruby 3.0 from the CI matrix to less the burden of gemfile management. If Ruby 3.0 support is preferred, it can be resolved it'll just take more work to get the gemfiles in a good state.

@javierjulio javierjulio force-pushed the update-gemfiles-appraisal branch 2 times, most recently from 178fbe4 to 2aea233 Compare November 11, 2024 02:02
This bumps the Bundler version to resolve `warning: constant DidYouMean::SPELL_CHECKERS is deprecated` warnings.

This installs zeitwerk 2.6 for now. I couldn't get this work with appraisal's `install_if` method introduced in v2.5.0 which has a hard error. It's been fixed in thoughtbot/appraisal#226 but has no release. For now we'll install zeitwerk 2.6 since 2.7 requires Ruby 3.2+.
Defeats the purpose if lock files are committed since we'd be running entirely different versions in CI from local making it hard to debug failures. One limitation of this though is different Ruby versions may enforce different gem requirements.
We don't set a required ruby version in the gemspec so taking the liberty to drop Ruby 3.0 from CI to lessen the burden of gemfile management. Several dependencies have since had new releases that have different Ruby version requirements (sqlite, zeitwerk, sass-embedded, net-imap, etc.) making it difficult to install a common demoninator that will run for all CI builds. Existing PRs have failed CI due to this.
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