Skip to content

Modernize Project and use Github Actions CI#165

Closed
johnnyshields wants to merge 1 commit into
kreeti:masterfrom
tablecheck:modernize-ci
Closed

Modernize Project and use Github Actions CI#165
johnnyshields wants to merge 1 commit into
kreeti:masterfrom
tablecheck:modernize-ci

Conversation

@johnnyshields
Copy link
Copy Markdown

@johnnyshields johnnyshields commented Apr 11, 2026

Fixes #81
Fixes #126

This PR modernizes the repo without changing any actual logic or functionality.

It enables Github Actions CI which you can see passing here: johnnyshields#4

You will need to make sure to enable it on the Github project. (To avoid overpaying for CI, you can require approval to run CI on each PR.)

Specific changes:

  • Version Support: Drop support for Ruby 2.6 and earlier (Rails support stays at 4.2 and later)
    • Ruby <= 2.6 is 5+ years EOL, using it is a security risk.
    • Dropping simply means users on Ruby <= 2.6 will be able to continue using kt-paperclip 7.3.x and earlier, but will need to upgrade to Ruby 2.7 before upgrading to kt-paperclip 7.4.x. Upgrading from from Ruby 2.3-2.6 to 2.7 is a pretty easy upgrade; everything is compatible.
  • Add Github Actions CI to ensure support Ruby 2.7+, Rails 4.2+, ImageMagick 6 and 7, JRuby, and TruffleRuby.
  • Fix all failing specs on all Ruby versions.
  • Spec fixes for JRuby and TruffleRuby; luckily both work without any gem changes.
  • Fix issues with Rails deprecation in tests.
  • Remove appraisal gem, use RAILS_VERSION env var in main Gemfile instead.
  • Move gemspec development dependencies to Gemfile, per latest standards.
  • Change "NEWS" and "OLD_NEWS" files to "CHANGELOG.md".
  • Remove UPGRADING message.
  • Remove cruft files: .travis.yml, .codeclimate.yml, .hound.yml

@johnnyshields johnnyshields force-pushed the modernize-ci branch 10 times, most recently from 6ee28e6 to 0d2ec8e Compare April 11, 2026 14:17
@johnnyshields johnnyshields changed the title Modernize CI Modernize Project and CI Apr 11, 2026
@johnnyshields
Copy link
Copy Markdown
Author

@ssinghi I appreciate if you can merge this PR. 🙏

- Add Github Actions CI, ensure support for latest Ruby and Rails
- Remove cruft: .travis.yml, .codeclimate.yml, .hound.yml
- Remove appraisal gem, use RAILS_VERSION env var in main Gemfile instead.
- Drop support for Ruby prior to 2.7--2.7 is already 5+ years EOL
- Remove UPGRADING message as it's very old.
- Move add_development_dependency to Gemfile, as per latest recommendations
- Fix issues with Rails deprecation silencing in tests
Copy link
Copy Markdown

@rocket-turtle rocket-turtle left a comment

Choose a reason for hiding this comment

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

This looks promising. I think some more version checks could be removed. :)

Comment thread spec/spec_helper.rb
ActiveRecord::Migration.verbose = false
if ActiveRecord::VERSION::STRING >= "4.2" &&
ActiveRecord::VERSION::STRING < "5.0"
if ActiveRecord::VERSION::STRING >= "4.2" && ActiveRecord::VERSION::STRING < "5.0"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think that if can be removed

And there are some more version checks

And some on RUBY_VERSION in

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.

@rocket-turtle my goal in this PR is not to touch any of the logic. This should all be done in a follow-up PR.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Maybe I don't understand it correct but I think the suggested changes are no logic changes they are relatet to your deprecation of ruby <2.7 and the fakt that the specs are now run with Rails 5.2+.

You already removed some version checks:
https://github.com/kreeti/kt-paperclip/pull/165/changes#diff-304c8309629b365d3f230958808b15a3277312864b20b746f31e115eb021c1ebR34

But the PR is already quit big so we can remove this stuff later. It should just not be forgotten because now its dead code.

I would like to see your changes merged, i think they help the project to get forward. :)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@johnnyshields
Copy link
Copy Markdown
Author

FYI this PR was merged as part of merging #166

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.

Rails 6 and 7 break kt-paperclip due to lack of :on support in callbacks Use Github Actions CI

3 participants