scambra / devise_invitable

An invitation strategy for devise
MIT License
2.66k stars 553 forks source link

Switch to GitHub Actions #866

Closed petergoldstein closed 2 years ago

petergoldstein commented 2 years ago

This PR adds CI using GitHub Actions to replace the now non-functional Travis CI.

In addition to configuring CI this PR:

  1. Adds Rubies - 2.7, 3.0, 3.1, jruby-9.3 - to the CI matrix
  2. Replaces the deprecated (and eventually removed) use of update_attributes with update for ActiveRecord
  3. Adds gemfiles for Rails 6.0, 6.1, 7.0
  4. Removes the *.lock files in the gemfiles subdirectory, and adds them to .gitignore
  5. Changes the Rails-master to Rails-main in the gemfiles, in accordance with current Rails branch naming
  6. Replaces the use of classes as arguments to Devise.mailer = with class names, as is expected in Rails 7.
  7. Adds migration support for Rails 6+ to the ActiveRecord configuration

Certain combinations are excluded from the CI matrix because of compatibility issues. This includes the use of mongoid with Rails 7 and/or Ruby 3.1, because neither is officially supported yet.

ruby-head was removed from the support matrix because we're seeing failures inside Thor that appear to be unrelated to this gem. Once the Thor issue is identified and fixed, ruby-head can be readded to the matrix

UPDATE: This turned out to be an issue in the gem where the exists? method on File was being called rather than exist?. Now resolved and ruby-head is in the CI matrix.