Open
Description
Googlers: see b/365178099.
I've noticed in both MySQL and PostgreS tutorials, that when you follow the tutorial for https://cloud.google.com/ruby/rails/using-cloudsql-postgres (for instance), it fails at the step
gcloud app deploy
And the failure carries this error:
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 2777 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
ERROR: (gcloud.app.deploy) INVALID_ARGUMENT: Error(s) encountered validating runtime. Your runtime version for ruby is past End of Support. Please upgrade to the latest runtime version available..
- '@type': [type.googleapis.com/google.rpc.DebugInfo](http://type.googleapis.com/google.rpc.DebugInfo)
detail: '[ORIGINAL ERROR] generic::invalid_argument: com.google.net.rpc3.RpcException:
generic::INVALID_ARGUMENT: Error(s) encountered validating runtime. Your runtime
version for ruby is past End of Support. Please upgrade to the latest runtime
version available.. [google.rpc.error_details_ext] { code: 3 message: "Error(s)
encountered validating runtime. Your runtime version for ruby is past End of Support.
Please upgrade to the latest runtime version available.." }'
Looking at latest rubies supported by Flex, I noticed that you should use 3.2 or 3.3 which in turn are warranted just by ubuntu22. So as not obvious at it may sound, a neat solution is to add this to app.yaml:
runtime: ruby
env: flex
# Yup, this part enforces ruby 3.2/3.3 and then the error disappears
runtime_config:
operating_system: "ubuntu22"
Note
I havent tried the same with Mysql but I'm pretty sure the bug is also there.