Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for pre-release ruby versions
Pre-releases in ruby use either `-` or `.` and touch the last number, versus patch identifiers start with `p`. This commit now captures identifiers such as `.rc1` or `.preview2` The state of tooling is confusing, as different tools manipulate values differently: ``` $ cat Gemfile source 'https://rubygems.org' ruby "3.4.0-rc1" gem 'rake' ⛄️ 3.4.0 🚀 /private/tmp/aa82068ba3124d84c76d7faf156888a5 (main) $ cat Gemfile.lock GEM remote: https://rubygems.org/ specs: rake (13.2.1) PLATFORMS arm64-darwin-23 ruby DEPENDENCIES rake RUBY VERSION ruby 3.4.0.rc1 BUNDLED WITH 2.5.23 ``` Here's some more context: - https://github.com/heroku/docker-heroku-ruby-builder/blob/175b5c15104cb809e1a0adc2c2a9902f94083954/lib/version_parts.rb#L1-L57 - https://github.com/heroku/docker-heroku-ruby-builder/blob/a41f31c72a74df6bcb4f9266e12192b0af83da98/shared/src/download_ruby_version.rs#L73-L93 Our versions are stored on S3 like this: ``` s3://heroku-buildpack-ruby/heroku-24/arm64/ruby-3.4.0.rc1.tgz ```
- Loading branch information