Skip to content

Commit cb3e830

Browse files
authored
Merge pull request #89 from Scalingo/deps/upstream_v287
Sync with upstream v287
2 parents e711f8e + 2220e52 commit cb3e830

File tree

12 files changed

+100
-18
lines changed

12 files changed

+100
-18
lines changed

CHANGELOG.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,33 @@
33
## [Unreleased]
44

55

6+
## [v287] - 2024-12-25
7+
8+
- Ruby 3.4.0 is now available (https://github.com/heroku/heroku-buildpack-ruby/pull/1531)
9+
- Ruby 3.4.1 is now available (https://github.com/heroku/heroku-buildpack-ruby/pull/1531)
10+
11+
## [v286] - 2024-12-13
12+
13+
- Ruby 3.4.0-rc1 is now available (https://github.com/heroku/heroku-buildpack-ruby/pull/1528)
14+
15+
## [v285] - 2024-11-21
16+
17+
- Default `UV_USE_IO_URING=0` due to build timeouts [context](https://github.com/heroku/heroku-buildpack-nodejs/pull/1347) (https://github.com/heroku/heroku-buildpack-ruby/pull/1523)
18+
19+
## [v284] - 2024-11-15
20+
21+
- Default Node.js version now 22.11.0 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)
22+
- Default Yarn version now 1.22.22 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)
23+
24+
## [v283] - 2024-11-14
25+
26+
- No customer facing changes
27+
28+
## [v282] - 2024-11-08
29+
30+
- [Rolled back] Default Node.js version now 22.11.0 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)
31+
- [Rolled back] Default Yarn version now 1.22.22 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)
32+
633
## [v281] - 2024-11-07
734

835
- Ruby 3.3.6 is now available (https://github.com/heroku/heroku-buildpack-ruby/pull/1511)
@@ -1584,7 +1611,13 @@ Bugfixes:
15841611
* Change gem detection to use lockfile parser
15851612
* use `$RACK_ENV` when thin is detected for rack apps
15861613

1587-
[unreleased]: https://github.com/heroku/heroku-buildpack-ruby/compare/v281...main
1614+
[unreleased]: https://github.com/heroku/heroku-buildpack-ruby/compare/v287...main
1615+
[v287]: https://github.com/heroku/heroku-buildpack-ruby/compare/v286...v287
1616+
[v286]: https://github.com/heroku/heroku-buildpack-ruby/compare/v285...v286
1617+
[v285]: https://github.com/heroku/heroku-buildpack-ruby/compare/v284...v285
1618+
[v284]: https://github.com/heroku/heroku-buildpack-ruby/compare/v283...v284
1619+
[v283]: https://github.com/heroku/heroku-buildpack-ruby/compare/v282...v283
1620+
[v282]: https://github.com/heroku/heroku-buildpack-ruby/compare/v281...v282
15881621
[v281]: https://github.com/heroku/heroku-buildpack-ruby/compare/v280...v281
15891622
[v280]: https://github.com/heroku/heroku-buildpack-ruby/compare/v279...v280
15901623
[v279]: https://github.com/heroku/heroku-buildpack-ruby/compare/v278...v279

Gemfile.lock

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ GEM
22
remote: https://rubygems.org/
33
specs:
44
base64 (0.2.0)
5-
ci-queue (0.55.0)
5+
ci-queue (0.59.0)
6+
logger
67
citrus (3.0.2)
78
connection_pool (2.4.1)
89
dead_end (4.0.0)
@@ -23,6 +24,7 @@ GEM
2324
thor (~> 1)
2425
threaded (~> 0)
2526
json (2.7.2)
27+
logger (1.6.2)
2628
moneta (1.0.0)
2729
multi_json (1.15.0)
2830
parallel (1.25.1)
@@ -34,7 +36,7 @@ GEM
3436
rate_throttle_client (~> 0.1.0)
3537
rake (13.2.1)
3638
rate_throttle_client (0.1.2)
37-
redis (5.2.0)
39+
redis (5.3.0)
3840
redis-client (>= 0.22.0)
3941
redis-client (0.22.2)
4042
connection_pool

app.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
},
2121
"scripts": {
2222
"test-setup": "bundle exec rake hatchet:setup_ci",
23-
"test": "bundle exec rspec-queue --max-requeues=3 --timeout 180 --queue $REDIS_URL || { cat log/test_order.log; $(exit 1); }"
23+
"test": "bundle exec rspec-queue --max-requeues=3 --timeout 180 --queue $REDIS_URL --format documentation || { cat log/test_order.log; $(exit 1); }"
2424
},
2525
"buildpacks": [
2626
{

changelogs/v284/node-yarn.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## Ruby apps now default to Node version 22.11.0 and Yarn version 1.22.22
2+
3+
Applications using the `heroku/ruby` buildpack that do not have a version of Node installed by another buildpack (such as the `heroku/nodejs` buildpack) will now receive:
4+
5+
- Node version 22.11.0
6+
- Yarn version 1.22.22
7+
8+
These versions and instructions on how to specify a specific version of these binaries can be found on the [installed binaries section of the Heroku Ruby Support page](https://devcenter.heroku.com/articles/ruby-support#installed-binaries).

changelogs/v286/3.4.0-rc1.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Ruby version 3.4.0-rc1 is now available
2+
3+
[Ruby v3.4.0-rc1](/articles/ruby-support-reference#ruby-versions) is now available on Heroku. To run your app using this version of Ruby, add the following `ruby` directive to your Gemfile:
4+
5+
```ruby
6+
ruby "3.4.0.rc1"
7+
```
8+
9+
For more information on [Ruby 3.4.0-rc1, you can view the release announcement](https://www.ruby-lang.org/en/news/).
10+
11+
> Note
12+
> This version of Ruby is not suitable for production applications.
13+
> However, it can be used to test that your application is ready for
14+
> the official release of Ruby 3.4.0 and
15+
> to provide feedback to the Ruby core team.

changelogs/v287/ruby_3.4.0.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## Ruby version 3.4.0 is now available
2+
3+
[Ruby v3.4.0](/articles/ruby-support-reference#ruby-versions) is now available on Heroku. To run your app using this version of Ruby, add the following `ruby` directive to your Gemfile:
4+
5+
```ruby
6+
ruby "3.4.0"
7+
```
8+
9+
For more information on [Ruby 3.4.0, you can view the release announcement](https://www.ruby-lang.org/en/news/).

lib/language_pack/fetcher.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ def fetch(path)
2626
run!(curl, error_class: FetchError)
2727
end
2828

29-
def fetch_untar(path, files_to_extract = nil)
29+
def fetch_untar(path, files_to_extract = nil, strip_components: 0)
3030
curl = curl_command("#{@host_url.join(path)} -s -o")
31-
run! "#{curl} - | tar zxf - #{files_to_extract}",
31+
tar_cmd = ["tar zxf - #{files_to_extract}", "--strip #{strip_components}"]
32+
run! "#{curl} - | #{tar_cmd.join(" ")}",
3233
error_class: FetchError,
3334
max_attempts: 3
3435
end

lib/language_pack/helpers/nodebin.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
require 'json'
22

33
class LanguagePack::Helpers::Nodebin
4-
NODE_VERSION = "20.9.0"
5-
YARN_VERSION = "1.22.19"
4+
NODE_VERSION = "22.11.0"
5+
YARN_VERSION = "1.22.22"
66

77
def self.hardcoded_node_lts(arch: )
88
arch = "x64" if arch == "amd64"

lib/language_pack/helpers/yarn_installer.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ def binary_path
2121
def install
2222
Dir.mktmpdir do |dir|
2323
Dir.chdir(dir) do
24-
@fetcher.fetch_untar(@url)
24+
@fetcher.fetch_untar(@url, strip_components: 1)
2525
end
2626

27-
FileUtils.mv(File.join(dir, name), name)
27+
FileUtils.cp_r(dir, name)
2828
end
2929
end
3030
end

lib/language_pack/ruby.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -973,6 +973,11 @@ def add_node_js_binary
973973
version = @node_installer.version
974974
old_version = @metadata.fetch("default_node_version") { version }
975975

976+
# Make available for `rake assets:precompile` and other sub-shells
977+
ENV["UV_USE_IO_URING"] ||= "0"
978+
# Make available to future buildpacks (export), but not runtime (profile.d)
979+
set_export_default "UV_USE_IO_URING", "0"
980+
976981
if version != version
977982
warn(<<~WARNING, inline: true)
978983
Default version of Node.js changed (#{old_version} to #{version})
@@ -1006,6 +1011,11 @@ def add_yarn_binary
10061011
version = @yarn_installer.version
10071012
old_version = @metadata.fetch("default_yarn_version") { version }
10081013

1014+
# Make available for `rake assets:precompile` and other sub-shells
1015+
ENV["UV_USE_IO_URING"] ||= "0"
1016+
# Make available to future buildpacks (export), but not runtime (profile.d)
1017+
set_export_default "UV_USE_IO_URING", "0"
1018+
10091019
if version != version
10101020
warn(<<~WARNING, inline: true)
10111021
Default version of Yarn changed (#{old_version} to #{version})

0 commit comments

Comments
 (0)