Skip to content
This repository was archived by the owner on Jan 10, 2023. It is now read-only.

Gemspec improvements#109

Merged
thomasrockhu merged 5 commits intocodecov:masterfrom
AlexWayfer:gemspec_improvements
Dec 9, 2020
Merged

Gemspec improvements#109
thomasrockhu merged 5 commits intocodecov:masterfrom
AlexWayfer:gemspec_improvements

Conversation

@AlexWayfer
Copy link
Copy Markdown
Contributor

  • Specify actual authors of the gem
  • Fix and improve gem's summary and description
  • Remove useless require_paths and test_files
  • Improve required Ruby version lock, avoid 3.0
  • Add versions locks for dependencies
    It's very dangerous and unstable to have dependencies without any version lock,
    they may update at any time and without backward compatibility.

@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 17, 2020

Codecov Report

Merging #109 (e1905d1) into master (0546624) will decrease coverage by 1.23%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #109      +/-   ##
==========================================
- Coverage   91.71%   90.47%   -1.24%     
==========================================
  Files           1        1              
  Lines         338      357      +19     
==========================================
+ Hits          310      323      +13     
- Misses         28       34       +6     
Impacted Files Coverage Δ
lib/codecov.rb 90.47% <0.00%> (-1.24%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0546624...e1905d1. Read the comment docs.

@thomasrockhu thomasrockhu merged commit b8fad69 into codecov:master Dec 9, 2020
@ShockwaveNN
Copy link
Copy Markdown

Improve required Ruby version lock, avoid 3.0

Ruby 3.0 will be released in less than a month, are your sure this is good idea?
Old version of codecov-ruby worked for me pretty well on ruby 3.0 preview

@AlexWayfer
Copy link
Copy Markdown
Contributor Author

Improve required Ruby version lock, avoid 3.0

Ruby 3.0 will be released in less than a month, are your sure this is good idea?
Old version of codecov-ruby worked for me pretty well on ruby 3.0 preview

This is a major release, and usually it means it backward incompatible. Yes, many of gems can work with Ruby 3, but we can't be sure, breaking changes can be included at any moment before stable release (yeah, it's less likely with release candidates, but still).

After the release we can include Ruby 3 in CI, ensure that everything works fine, maybe fix something, and change version lock to '>= 2.4', '< 4'.

Again, simple >= 2.4 allows (as I remember) not only Ruby 3, but also Ruby 4, 5, 9000, etc.

We should be careful with this.

@AlexWayfer AlexWayfer deleted the gemspec_improvements branch December 12, 2020 13:49
@ShockwaveNN
Copy link
Copy Markdown

@AlexWayfer Is there a reason simplceov requirement locked on '~> 0.18.0' in this PR?

This is the reason for this issue
#116

@AlexWayfer
Copy link
Copy Markdown
Contributor Author

@AlexWayfer Is there a reason simplceov requirement locked on '~> 0.18.0' in this PR?

This is the reason for this issue
#116

Thank you, responded there. Shortly, the reason the same as for required Ruby version: >= 0 is not restriction at all, it allows any incompatible versions, and should not be anywhere at all.

@jsantos
Copy link
Copy Markdown
Contributor

jsantos commented Dec 26, 2020

After the release we can include Ruby 3 in CI, ensure that everything works fine, maybe fix something, and change version lock to '>= 2.4', '< 4'.

@AlexWayfer Was giving it a shot to relax the dependency and all tests are green. Anything else we should be looking into?

@AlexWayfer
Copy link
Copy Markdown
Contributor Author

After the release we can include Ruby 3 in CI, ensure that everything works fine, maybe fix something, and change version lock to '>= 2.4', '< 4'.

@AlexWayfer Was giving it a shot to relax the dependency and all tests are green. Anything else we should be looking into?

IDK. Unfortunately, there can be errors out of CI, like #119.

Also I saw the article today about performance issue with threads, which is worse with Ruby 3: https://mensfeld.pl/2020/12/the-hidden-cost-of-a-ruby-threads-leakage/

But I don't think it's related, of course, and a breaking problem. Also Codecov gem code is pretty simple, it's not hard to test and check. And if CI is green — I think it's ready to go. I'm just noticing that there can be problems anyway, even with passing CI, but it's easier for us to rely on CI.

And Ruby 3 has backward incompatible changes, like with keyword arguments (I had problems with them since 2.7), so major releases not just for beauty, but also has meaning. And not every major release breaks every code, of course. But it can — that's why there is should be limitation.

@jsantos
Copy link
Copy Markdown
Contributor

jsantos commented Dec 28, 2020

@AlexWayfer Thanks for the insight! I'll issue a PR (a bit more conservative, using '>= 2.4', '< 3.1').

This will allow people trying to upgrade to Ruby 3.0.0 to move on if they want to and allow us to keep track of possible errors. So far my test runs on Ruby 3 don't produce any warnings related to keyword arguments, in fact during the migration to Ruby 2.7 we were already warned about those.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants