adzap / validates_timeliness

Date and time validation plugin for ActiveModel and Rails. Supports multiple ORMs and allows custom date/time formats.
MIT License
1.59k stars 227 forks source link

Add Ruby 3.1 and Rails 7 to the CI matrix #220

Closed petergoldstein closed 1 year ago

petergoldstein commented 2 years ago

In addition to adding Ruby 3.1 and Rails 7 to the CI configuration, this PR:

  1. Creates a Rails 7 gemfile
  2. Loosens the restriction on activemodel in the gemspec to allow Rails 7
  3. Quotes the instances of 3.0 in the CI configuration. Unquoted, these are truncated to '3', and the latest Ruby 3 - at this time Ruby 3.1.1 - is loaded. To ensure a Ruby 3.0.x version is loaded, these should be quoted.
petergoldstein commented 2 years ago

Screenshot showing that Ruby 3.1.x is being loaded for the Ruby 3.0 entries in CI:

Screen Shot 2022-03-26 at 10 25 20 AM
johnnyshields commented 2 years ago

@adzap let's merge this

tagliala commented 2 years ago

Hi, isn't this a partial duplicate of #213 ?

213 also contains a fix for a Rails 7 deprecation

petergoldstein commented 2 years ago

@tagliala There's some overlap. But this PR both adds Ruby 3.1 and fixes the broken Ruby 3.0 entries in the CI matrix.

I've pushed a version of the deprecation fix to this branch.

tagliala commented 2 years ago

Is there someone with merging permissions on this repo?

This PR supersedes #218, #214, and #213 and closes #217, #221, and (partially) #222

I'm asking before making a temporary fork with the changes needed to add this gem in a Rails 7 project

zspencer commented 1 year ago

@tagliala - I'm in a similar boat; planning to just run off of @petergoldstein's (or rather, a fork from that branch). Will report back with how it works on a Ruby 3.0 + Rails 7.0 production application in a couple weeks.

johnnyshields commented 1 year ago

@adzap would you be willing to designate Peter Goldstein as a backup maintainer here so we can get a fixed release out?

tagliala commented 1 year ago

@zspencer feel free to use this branch: https://github.com/tagliala/validates_timeliness/tree/rails-70

I've just protected it and I'm using it in an application

Also, it is based on this PR, plus the usual validates_timeliness approach (= remove 6.x compatibility)

zspencer commented 1 year ago

I appreciate the offer, but from a supply-chain security perspective, I tend to prefer deploying my own forked branch over relying on someone else's so that deploys don't accidentally pull in un-audited code.

adzap commented 1 year ago

Thanks but there was too much in this PR and it does not conform to the convention of a major version per ActiveRecord major version, so pushed necessary changes in other commits.