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

Installing Ruby & various lessons: Update to use Ruby 3.1.2 #24162

Merged

Conversation

scheals
Copy link
Contributor

@scheals scheals commented May 26, 2022

Complete the following REQUIRED checkboxes:

  • I have thoroughly read and understand The Odin Project Contributing Guide
  • The title of this PR follows the location of change: brief description of change format, e.g. Intro to HTML and CSS lesson: Fix link text

Complete the following checkboxes ONLY IF they are applicable to your PR. You can complete them later if they are not currently applicable:

  • I have previewed all lesson files included in this PR with the Markdown preview tool to ensure the Markdown content is formatted correctly
  • I have ensured all lesson files included in this PR follow the Layout Style Guide

1. Because:

Ubuntu 22.04 comes with openSSL 3.0 installed and only Ruby 3.1+ started being compatible with it. Because of this, installing Ruby 3.0.3 is not possible on 22.04 without tinkering with openSSL installation which is not recommended. 20.04 installs are unaffected.

Part of #24112

2. This PR:

  • Updates the installation instructions to use Ruby 3.1.2
  • Updates various links to the documentation to point to the 3.1.2 documentation
  • Updates various links to the rubyapi version of documentation to point to the 3.1 documentation

3. Additional Information:

I also have to change various .ruby-version files to be 3.1.2, update the gems & the bundler in the repos and change description in ruby_testing, like this issue's PRs: #23434

@01zulfi 01zulfi added Status: Needs Review Type: Ruby/Rails Involves the full stack Ruby on Rails path labels May 27, 2022
@ChargrilledChook
Copy link
Member

Thank you for taking the time to work on this @scheals. I'd like to check with the team if there are any issues with switching over at the moment, assuming no issues there I aim to review all of your changes over the next couple of days.

Copy link
Member

@ChargrilledChook ChargrilledChook left a comment

Choose a reason for hiding this comment

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

Thanks very much for your work on this!

It's mostly fine, but there are some issues where you've updated links from version agnostic urls to versioned ones, which has broken them.

There's also a handful of times where you've updated core in plain text to have a version next to it too.

If you can fix these up I think it should be ready to merge 👍

ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
ruby/files_and_serialization/project_event_manager.md Outdated Show resolved Hide resolved
@scheals
Copy link
Contributor Author

scheals commented Jun 7, 2022

Thanks very much for your work on this!

It's mostly fine, but there are some issues where you've updated links from version agnostic urls to versioned ones, which has broken them.

There's also a handful of times where you've updated core in plain text to have a version next to it too.

If you can fix these up I think it should be ready to merge +1

Ahhh! I didn't pick up on the fact that this lesson used rubydoc.info and not ruby-doc.info... I would prefer to change the links to the original ruby-doc.info here, then. I like rubyapi.org the most but I guess ruby-doc.info is fine too.

I made it version-specific so it is more in-line with the rest of curriculum which points to particular version.

And sorry for the overzealous core overwrites! There was some back-and-forth with my find-and-replace that probably resulted in this.

@ChargrilledChook
Copy link
Member

ChargrilledChook commented Jun 7, 2022

Ahhh! I didn't pick up on the fact that this lesson used rubydoc.info and not ruby-doc.info... I would prefer to change the links to the original ruby-doc.info here, then. I like rubyapi.org the most but I guess ruby-doc.info is fine too.
No worries at all, it's a fairly subtle distinction.

IMO all 3 have a place; ruby-doc being the most 'official', rubydoc being the most extensive (it's auto-generated and also covers gems) and rubyapi being the best formatted (albeit more limited in content than the other two).

I think rubyapi is my preference too, especially for core classes, but for the sake of this particular set of changes, I think it would be better to update the links 'as they are' for now.

Certainly open to discussing switching over / being a bit more consistent in how we recommend docs, though

I made it version-specific so it is more in-line with the rest of curriculum which points to particular version.

Yeah, the logic makes sense to me 👍 although having agnostic links is probably better to avoid having to do these rewrites every time we update

And sorry for the overzealous core overwrites! There was some back-and-forth with my find-and-replace that probably resulted in this.

All good 😃

@scheals
Copy link
Contributor Author

scheals commented Jun 7, 2022

IMO all 3 have a place; ruby-doc being the most 'official', rubydoc being the most extensive (it's auto-generated and also covers gems) and rubyapi being the best formatted (albeit more limited in content than the other two).

I think rubyapi is my preference too, especially for core classes, but for the sake of this particular set of changes, I think it would be better to update the links 'as they are' for now.

Alright, I'll revert the changes then! I do know how to convert rubydoc links to ruby-doc links now, though! 😆

Certainly open to discussing switching over / being a bit more consistent in how we recommend docs, though

I believe that having a "more close encounter" with rubyapi might be beneficial. It's still the case that people in the ruby channels don't know about it and honestly it's a great resource. But that's for another issue.

I made it version-specific so it is more in-line with the rest of curriculum which points to particular version.

Yeah, the logic makes sense to me +1 although having agnostic links is probably better to avoid having to do these rewrites every time we update

I followed what's been done before in the curriculum at large, I think rubydoc currently links to 3.0.3 docs with its agnostic links also. Not sure whether converting everything to be agnostic makes sense because we don't know how up-to-date the curriculum is going to be in the future. The 3.0.3 -> 3.1.2 change has been pretty rapid.

Oh also rubydoc links to some rdoc from possibly 2005 that I wasn't able to track down on ruby-doc anyway.

@scheals scheals force-pushed the feature/upgrade-to-ruby-3-1-2 branch from ce14917 to d3b3823 Compare June 7, 2022 15:51
@scheals
Copy link
Contributor Author

scheals commented Jun 7, 2022

@ChargrilledChook Turns out Event Manager lesson features rubydoc, ruby-doc and rubyapi links. Got my find-&-replace overzealous again. As such, I made two ruby-doc links version agnostic which seems more in line with rubydoc being agnostic too, but now rubyapi is the only version-specific one. Not sure whether rubyapi has an agnostic URL, it seems like you can chop the version off and it'll still navigate things but not sure how dependable that is.

Copy link
Member

@ChargrilledChook ChargrilledChook left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@ChargrilledChook ChargrilledChook merged commit a994e6c into TheOdinProject:main Jun 9, 2022
@scheals scheals deleted the feature/upgrade-to-ruby-3-1-2 branch September 29, 2022 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Ruby/Rails Involves the full stack Ruby on Rails path
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants