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

Merged
merged 1 commit into from
Feb 21, 2024

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 2.5, 2.6, 2.7, 3.0, 3.1, 3.2 and 3.3
ActiveSupport 6.0: Ruby 2.5, 2.6, 2.7, 3.0, 3.1, 3.2 and 3.3
ActiveSupport 6.1: Ruby 2.5, 2.6, 2.7, 3.0, 3.1, 3.2 and 3.3
ActiveSupport 7.0: Ruby 2.7, 3.0, 3.1, 3.2 and 3.3 (Ruby 2.7+ required)

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)

@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

@Floppy
Copy link
Member

Floppy commented Feb 20, 2024

Ah, sorry, I was unclear. I think the gemfiles themselves should be there, but the lockfiles can be left out - looks like that's what others are doing. Can you remove those and add to .gitignore?

@D-system D-system force-pushed the appraisal branch 3 times, most recently from e6853ac to 2e8a1c7 Compare February 21, 2024 08:21
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

@Floppy Thank you for the explanation, I totally misread your message. Sorry about that.

I removed the lockfiles.

I excluded Ruby 2.5 and 2.6 from ActiveSupport 7.0 due to incompatibility issue from the gem:
SCR-20240221-plqg

Comment on lines +36 to +40
exclude:
- ruby-version: '2.5'
activesupport-version: activesupport_7.0
- ruby-version: '2.6'
activesupport-version: activesupport_7.0
Copy link
Contributor Author

Choose a reason for hiding this comment

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

SCR-20240221-plqg

@Floppy Floppy merged commit 743391c into Data-Liberation-Front:main Feb 21, 2024
34 checks passed
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.

2 participants