-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
ruby: move towards 3.1 #192860
ruby: move towards 3.1 #192860
Conversation
bundlerApp = bundlerApp.override { | ||
# there is no particular reason to pick 3.1 specifically, | ||
# but we don't want to be stuck on the currently-default 2.7: | ||
ruby = ruby_3_1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ruby = ruby_3_1; | |
ruby = ruby_3; |
How about we add an alias for 3.X to not accidentally forget this for 3.2?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ruby_3
does not exist yet, and if we want to add it I think we should add it in a separate PR. It is not completely obvious to me that it is desirable, as it introduces the same problem we have with ruby
right now, i.e. that we don't dare to update it to the newer ruby because it would cause many rebuilds and it's not reasonably easy to test all impacted packages.
Perhaps explicitly referencing ruby_3_1
is actually better, perhaps not, but in any case introducing ruby_3
does not belong in this PR IMHO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we want to add it I think we should add it in a separate PR
Thats not really a problem, we can do it in this one with no problems.
that we don't dare to update it to the newer ruby because it would cause many rebuilds and it's not reasonably easy to test all impacted packages.
The rebuild count is fine, we just target staging. Also Jumping from 2.X to 3.X is way more impactful than from 3.1 to 3.2 and if a small amount of packages breaks that is okay. We cna fix them in staging-next.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we want to add it I think we should add it in a separate PR
Thats not really a problem, we can do it in this one with no problems.
I know I can, but I didn't want to, since I think this is a decision that the ruby ecosytem maintainers (like @marsam, @vrthra, @manveru) should be involved in - I didn't want to make that change without their input.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since there were no objections from the ruby maintainers pinged here, I went ahead and made the change suggested by @SuperSandro2000 - though TBH I still prefer to keep PR's smaller in scope, if not for technical reasons then for social ones.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think adding ruby_3 may be less useful than its Python counterpart, since ruby 3 didn't represent a huge breakage and its adoption is doing well; also ruby 2.7 is going EOL on March 2023, so we probably are going remove it for 23.05.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, given that feedback I moved to ruby_3_1
again 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH I still prefer to keep PR's smaller in scope, if not for technical reasons
which means more PRs and more notifications.
1be5fad
to
15ed706
Compare
15ed706
to
1876e75
Compare
Currently, `pkgs.ruby` is ruby 2.7.6, which is in 'security updates only' mode and scheduled to go EOL April 2023. Updating `pkgs.ruby` to be ruby 3.1 would be a rather large change, but using ruby 3 to bootstrap building ruby itself would be a nice first step in that direction. Tested with asciidoctor that this indeed now allows building a ruby application without getting ruby 2.7 in the build closure. Also fixes NixOS#192729
1876e75
to
c5e2f3c
Compare
Description of changes
Currently,
pkgs.ruby
is ruby 2.7.6, which is in 'security updates only' mode and scheduled to go EOL April 2023. Updatingpkgs.ruby
to be ruby 3.1 would be a rather large change, but at least using ruby 3.1 to bootstrap building ruby itself would be a nice first step.Tested with asciidoctor that this indeed now allows building a ruby application without getting ruby 2.7 in the build closure.
Also fixes #192729
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes