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

Test over multiple ActiveSupport versions (with Appraisal) #289

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

D-system
Copy link
Contributor

@D-system D-system commented Feb 4, 2024

Test ActiveSupport from 5.2 to 7.0 over ruby version 3.0 to 3.3.
It ensure that all versions are care of.

The matrix of tests is:
ActiveSupport 5.2: Ruby 3.0, 3.1, 3.2 and 3.3
ActiveSupport 6.0: Ruby 3.0, 3.1, 3.2 and 3.3
ActiveSupport 6.1: Ruby 3.0, 3.1, 3.2 and 3.3
ActiveSupport 7.0: Ruby 3.0, 3.1, 3.2 and 3.3

With the current limitation of ActiveSupport 7.0 max (from #279), when ActiveSupport 7.1 is supported we will have tests for 7.0 and below.

@D-system D-system force-pushed the appraisal branch 3 times, most recently from 7124500 to 3cc31e8 Compare February 4, 2024 11:29
@D-system
Copy link
Contributor Author

D-system commented Feb 4, 2024

One of the dependency does not support Ruby 3+
SCR-20240204-sbda
There is a clear trade off:

  • test over all ActiveSupport versions
  • test over all Ruby versions
  • force an old library version (and test all ActiveSupport and Ruby versions)

Test ActiveSupport from 5.2 to 7.0 on Ruby 3.0 to 3.3.
Ruby 2.x has too compatibility issues with recent versions of
dependencies.
@D-system
Copy link
Contributor Author

D-system commented Feb 4, 2024

Other libraries are incompatible
SCR-20240204-slzs

@D-system
Copy link
Contributor Author

D-system commented Feb 4, 2024

At the end, I went to add more tests (not changing the current tests) and limit to Ruby 3.0+ due to too many incompatibilities with dependencies.

With this addition, we will have insurance that old versions are working once ActiveSupport 7.1 is added.

@D-system
Copy link
Contributor Author

@Floppy I know the project was not using Appraisal and that add one more thing to think and know. I would be happy to help on spreading the knowledge even it is the first for myself too to use Appraisal.

If there is a need to a maintainer to maintain the code (no feature implementation), I would be happy to help. I would like to update the code to comply to StandardRb (remove the exceptions) and rely on the CSV gem version instead of the Ruby version (with the current PR that test against multiple Ruby version, it is safer to do that change).

@Floppy
Copy link
Member

Floppy commented Feb 19, 2024

Sorry for the delay! This is super cool work, thank you. I've not used Appraisal before, but testing across multiple gem dependency versions is fantastic, so I'm happy for it to be added. Only question is, do we need to include the lockfiles in the repo, or should they (can they) be .gitignored?

@D-system
Copy link
Contributor Author

Good question.
Let me spy on other gems 💎 to see what’s the consensus.
It was one of my concerns when making the commit.
I’ll probably add it to the ignore file as it is the behavior of the current test and gemspec.

@Floppy
Copy link
Member

Floppy commented Feb 19, 2024

I think unless it's important for Appraisal to work properly, we should probably leave them out. 👍🏻

@D-system
Copy link
Contributor Author

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.

None yet

2 participants