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
Bump ruby version to ruby 3 #2703
Conversation
This supercedes #2623 |
[#2619] Co-authored-by: Seth Boyles <sboyles@pivotal.io> Co-authored-by: Alex Rocha <alexr1@vmware.com>
- missed it in the other commit Authored-by: Michael Oleske <moleske@pivotal.io>
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.
Based on the unit test github actions workflow i guess the unittests did not actually run with neither ruby 3.0.3 nor 2.7.2 but with ruby 2.7.5 https://hub.docker.com/layers/capi/cloudfoundry/capi/ruby-units/images/sha256-42cb7efe67a2354d1456f54d218fdfe4e7185de69271a89d6511645444c2fbf3?context=explore
I would propose to use a more generic base image and install the used ruby version based on the .ruby-versions file dynamically in the action job (like its done with ruby gems already)
Yeah, we have a PR to update the dockerfiles: https://github.com/cloudfoundry/capi-dockerfiles/pull/18/files Installing the ruby version based on the .ruby-version file is a good idea, but I wonder how much time that would add to our test runs. |
The mysql8 checks ran with ruby3 per the ruby setup job this is because the mysql8 github action does not use the docker image and instead runs directly on the github provided ubuntu machine. It also reads from ruby version file to determine the version of ruby to use. It probably wouldn't be too bad to switch the rest of the github actions to run like the mysql8 one, but does open the question that it would be different than how concourse runs the tests |
Yea that uses the setup-ruby action which likely just downloads a binary as it just adds 4s. Would love to see that and then also no additional image may be required since https://github.com/cloudfoundry/capi-dockerfiles/blob/b8b3a8702f645a96861fac4ab8a72d7c1b0d0f15/capi-runtime-ci/Dockerfile#L10-L32 should also just add a few seconds to the job. Would make the CI setup a lot easier and flexible. One question to the ruby update itself, why is the large amount of adoptions to brackets and double splatter operators of the WIP PR not needed anymore here ? |
The original idea was to use the OCI image that we use in concourse, so we aren't surprised by failures occurring upon merging PRs. It's probably enough just to run units for now, but it would also be nice to figure out how to get a similar change in the concourse pipeline
Those were merged into main ahead of time: #2651. There were a few other PRs breaking out other changes, too. |
Hi, I run the CATs with the changes introduced in this PR on our Azure dev-landscape and they ran through just fine. I run the version v7.3.0 of the CATs which is the latest release. I patched the changes into capi-release 1.127.0. I run the test twice as the first one got some flakey errors which where gone the second run. Tests took about 2 hours and I basically used the example-CATs-config. We could not find any anomalies in blobstore operations in particular as this seems to be the most interesting part here. |
Hi all, Best Regards |
@MMisoch thanks for the update. Should we just merge? We have GCP and AWS blobstores in the main CAPI pipeline, so those will get tested regardless. We can revert if there are particular issues. |
Hi all, Best Regards |
We had a short internal discussion and were wondering if it would be possible to cut a release that only contains the ruby 3 changes and not other changes as well. Best regards |
That sounds fine to us. Do you all mind orchestrating that? |
We could do that no problem. We would just need to wait for the next release and do the ruby3 one on top of that. |
* Revert "Revert "Merge pull request #2703 from cloudfoundry/bump-ruby"" This reverts commit 4971a57. * Fixing ruby3 scheduler errors stemming from invalid ruby3 syntax in method call Co-authored-by: David Alvarado <alvaradoda@vmware.com> Co-authored-by: Alex Rocha <alexr1@vmware.com> * bump to ruby 3.0.4 Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: David Alvarado <alvaradoda@vmware.com> * Update specs that had mismatched keyword args/hash opts * we found these by running the latest branches of rspec--the currently released versions miss these when they are mismatched Co-authored-by: Seth Boyles <sboyles@pivotal.io> Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: M. Oleske <michael@oleske.engineer> Co-authored-by: David Alvarado <alvaradoda@vmware.com> Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: Seth Boyles <sboyles@pivotal.io>
* Revert "Revert "Merge pull request cloudfoundry#2703 from cloudfoundry/bump-ruby"" This reverts commit 4971a57. * Fixing ruby3 scheduler errors stemming from invalid ruby3 syntax in method call Co-authored-by: David Alvarado <alvaradoda@vmware.com> Co-authored-by: Alex Rocha <alexr1@vmware.com> * bump to ruby 3.0.4 Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: David Alvarado <alvaradoda@vmware.com> * Update specs that had mismatched keyword args/hash opts * we found these by running the latest branches of rspec--the currently released versions miss these when they are mismatched Co-authored-by: Seth Boyles <sboyles@pivotal.io> Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: M. Oleske <michael@oleske.engineer> Co-authored-by: David Alvarado <alvaradoda@vmware.com> Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: Seth Boyles <sboyles@pivotal.io>
[#2619]
Co-authored-by: Seth Boyles sboyles@pivotal.io
Co-authored-by: Alex Rocha alexr1@vmware.com