Skip to content

Conversation

@chrisyuska
Copy link
Contributor

@chrisyuska chrisyuska commented Feb 26, 2025

What are you trying to accomplish?

This upgrades Ruby to 3.4.2 3.4.4 while bumping 3.3.x and 3.2.x versions to their latest versions to support the latest Ruby releases.

This aims to address the new "Dependabot does not support your ruby version" that I'm receiving after a Ruby 3.4.2 upgrade.

Anything you want to highlight for special attention from reviewers?

I used prior merged PRs as a template for determining where to update.

How will you know you've accomplished your goal?

I'm expecting tests to pass.

Checklist

  • I have run the complete test suite to ensure all tests and linters pass.
  • I have thoroughly tested my code changes to ensure they work as expected, including adding additional tests for new functionality.
  • I have written clear and descriptive commit messages.
  • I have provided a detailed description of the changes in the pull request, including the problem it addresses, how it fixes the problem, and any relevant details about the implementation.
  • I have ensured that the code is well-documented and easy to understand.

@chrisyuska chrisyuska requested a review from a team as a code owner February 26, 2025 16:57
@github-actions github-actions bot added the L: ruby:bundler RubyGems via bundler label Feb 26, 2025
@chrisyuska chrisyuska marked this pull request as draft February 26, 2025 16:58
@chrisyuska chrisyuska force-pushed the hotfix/ruby-3.4.2-support branch 4 times, most recently from d8d9b97 to 91261eb Compare February 26, 2025 17:35
@chrisyuska chrisyuska marked this pull request as ready for review February 26, 2025 17:44
@robaiken robaiken self-assigned this Feb 27, 2025
@robaiken robaiken force-pushed the hotfix/ruby-3.4.2-support branch from 91261eb to acfc0d6 Compare February 27, 2025 16:44
@chrisyuska
Copy link
Contributor Author

@robaiken, I'd be happy to fix these smoke tests, but I'm really just not sure why they're failing.

@robaiken
Copy link
Contributor

@chrisyuska Thank you for offering to help with the smoke tests! We appreciate your contribution! I'm not too sure why the Python tests are failing, and the bundler test issues also need attention. The cargo tests are also failing, but we already know those need to be updated so you can ignore them for now. Any help you can provide with the Python or bundler tests would be greatly appreciated. The smoke test are in this repo

@chrisyuska
Copy link
Contributor Author

Thanks, @robaiken . Unfortunately, I can't get the dependabot CLI working locally in order to fix the smoke tests due an error that appears to be due to some networking config, although I haven't been able to figure it out:

updater | fatal: unable to access 'https://github.com/deivid-rodriguez/smoke-tests/': Failed to connect to 172.18.0.2 port 1080 after 3053 ms: No route to host

I'll try to look again later this week if I can.

@JamieMagee
Copy link
Member

@chrisyuska thanks for taking over this upgrade. If you're basing this on #11162, there are a couple of code changes that need to be ported to fix warnings.

@chrisyuska
Copy link
Contributor Author

@chrisyuska thanks for taking over this upgrade. If you're basing this on #11162, there are a couple of code changes that need to be ported to fix warnings.

Sorry, @JamieMagee ! I somehow completely missed that PR. I'll port the deprecation fixes for sure (or we can close this if your PR is merged).

@chrisyuska chrisyuska force-pushed the hotfix/ruby-3.4.2-support branch from cc5872f to acfc0d6 Compare March 4, 2025 19:29
@robaiken
Copy link
Contributor

robaiken commented Mar 4, 2025

@chrisyuska I am happy for you to take the lead on this and help if you need me to. It's always good to have community contributions. If you are still struggling to get the smoke tests running, then I will happily fix those for you.

@chrisyuska chrisyuska requested a review from a team as a code owner March 5, 2025 02:51
@github-actions github-actions bot added L: php:composer Issues and code for Composer L: dotnet:nuget NuGet packages via nuget or dotnet L: java:maven Maven packages via Maven L: dart:pub Dart packages via pub L: javascript L: python labels Mar 5, 2025
@chrisyuska
Copy link
Contributor Author

@robaiken , I was able to get smoke tests running on my other machine, but fixing them seems to be a bit of a chicken-or-egg problem since they're managed in a separate repo. What is the suggested approach for fixing them before this PR has shipped?

@robaiken
Copy link
Contributor

robaiken commented Mar 5, 2025

@chrisyuska Thank you so much for all your hard work. We usually merge the core ticket first and then the smoke-test. If this PR is ready to go, then I will give it a review and deploy it. Is there any outstanding task?

@chrisyuska
Copy link
Contributor Author

@robaiken , thanks, that works. This PR is ready for review then. The hex specs have a failing test, but it appears to be a flake (or at least I can't reproduce it locally).

@JamieMagee
Copy link
Member

Canonical is having an outage at the moment1, which is causing the e2e test failures. We'll need to wait until that is resolved, and re-run the e2e tests.

Are you able to fix the Sorbet type error please?

Footnotes

  1. https://status.canonical.com/#/incident/KNms6QK9ewuzz-7xUsPsNylV20jEt5kyKsd8A-3ptQGnu9-UhZcQUtDmIVRYTQMx6Vt0EjSxe6Bz4_D89gPRLg==

@chrisyuska chrisyuska force-pushed the hotfix/ruby-3.4.2-support branch from 63ddd1f to e8a8897 Compare May 29, 2025 19:31
@chrisyuska
Copy link
Contributor Author

@JamieMagee , type errors should be fixed now.

JamieMagee
JamieMagee previously approved these changes May 29, 2025
@JamieMagee
Copy link
Member

Thank you! Changes look broadly good to me, and the failing smoke test likely just needs to be updated.

I just need someone else on our team to sign-off.

markhallen
markhallen previously approved these changes May 30, 2025
@chrisyuska
Copy link
Contributor Author

What's the next step here, @JamieMagee?

I don't mean to pester. We're just eager to get Dependabot working again with our Ruby applications.

@JamieMagee
Copy link
Member

@chrisyuska I understand where you're coming from.

I just need to double check that our internal services are ready. We consume dependabot-common as a dependency, so setting required_ruby_version to >=3.4.0 will cause issues. I was speaking with @markhallen to figure this out, but if you can change required_ruby_version back to >=3.3.0 I can merge this ASAP.

@chrisyuska chrisyuska dismissed stale reviews from markhallen and JamieMagee via 07ae5bf June 3, 2025 13:41
@chrisyuska
Copy link
Contributor Author

@JamieMagee , sounds good. I've reverted the Ruby requirement back to 3.3.0.

@JamieMagee
Copy link
Member

I have currently deployed this to our staging ring and I'm going to spend some time testing there to make sure there are no issues. The only thing I have come across is:

warning: parser/current is loading parser/ruby34, which recognizes 3.4.0-dev-compliant syntax, but you are running 3.4.4.

It's something we should address, but not a blocker for getting this merged.

@JamieMagee
Copy link
Member

This is rolled out to production 🎉 Thanks you @chrisyuska

The smoke tests need to be regenerated, but that's not blocking, and I can handle it after the merge.

@JamieMagee JamieMagee merged commit 10b1c31 into dependabot:main Jun 4, 2025
114 of 116 checks passed
@github-project-automation github-project-automation bot moved this from On Hold to Done in Dependabot Jun 4, 2025
@chrisyuska
Copy link
Contributor Author

Thanks for merging, @JamieMagee! It's great to see dependabot PRs rolling in again! 🎉

I have currently deployed this to our staging ring and I'm going to spend some time testing there to make sure there are no issues. The only thing I have come across is:

warning: parser/current is loading parser/ruby34, which recognizes 3.4.0-dev-compliant syntax, but you are running 3.4.4.

It's something we should address, but not a blocker for getting this merged.

Agreed. Parser will need to be swapped out with Prism at some point since it's no longer being updated for Ruby 3.4+. It should be fairly straightforward, but I noticed Parser is used in about a dozen files so I hoped to avoid that refactor in this upgrade.

@chrisyuska chrisyuska deleted the hotfix/ruby-3.4.2-support branch June 5, 2025 00:03
@larouxn
Copy link

larouxn commented Jun 5, 2025

Was just about to note that there's no way to get rid of that parser warning at this time as parser has not been updated enough for Ruby 3.4 for the gem to claim it's fully compliant.

Agreed. Parser will need to be swapped out with Prism at some point since it's no longer being updated for Ruby 3.4+. It should be fairly straightforward, but I noticed Parser is used in about a dozen files so I hoped to avoid that refactor in this upgrade.

I second this notion to move from parser to prism as the latter is better maintained/future-facing.

@JamieMagee
Copy link
Member

I created #12403 to track this work. It's not urgent, but likely something we should tackle before we upgrade to Ruby 3.5.

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

Labels

L: dart:pub Dart packages via pub L: dotnet:nuget NuGet packages via nuget or dotnet L: java:maven Maven packages via Maven L: javascript L: php:composer Issues and code for Composer L: python:uv L: python L: ruby:bundler RubyGems via bundler

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

9 participants