Skip to content

Commit 6c45e66

Browse files
committed
Fix build timeouts with node/yarn by setting UV_USE_IO_URING=0 by default (#1523)
* Set UV_USE_IO_URING=0 by default Default `UV_USE_IO_URING=0` due to build timeouts This mirrors a change by the nodejs buildpack: heroku/heroku-buildpack-nodejs#1347 The Ruby buildpack needs this because we can install node/yarn without the `heroku/nodejs` buildpack, however this behavior triggers a warning and is generally advised against. * Only set UV_USE_IO_URING=0 at build (not runtime) * Make UV_USE_IO_URING=0 available for other buildpacks
1 parent 0cbe22b commit 6c45e66

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## [Unreleased]
44

5+
- 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)
56

67
## [v284] - 2024-11-15
78

lib/language_pack/ruby.rb

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

967+
# Make available for `rake assets:precompile` and other sub-shells
968+
ENV["UV_USE_IO_URING"] ||= "0"
969+
# Make available to future buildpacks (export), but not runtime (profile.d)
970+
set_export_default "UV_USE_IO_URING", "0"
971+
967972
if version != version
968973
warn(<<~WARNING, inline: true)
969974
Default version of Node.js changed (#{old_version} to #{version})
@@ -994,6 +999,11 @@ def add_yarn_binary
994999
version = @yarn_installer.version
9951000
old_version = @metadata.fetch("default_yarn_version") { version }
9961001

1002+
# Make available for `rake assets:precompile` and other sub-shells
1003+
ENV["UV_USE_IO_URING"] ||= "0"
1004+
# Make available to future buildpacks (export), but not runtime (profile.d)
1005+
set_export_default "UV_USE_IO_URING", "0"
1006+
9971007
if version != version
9981008
warn(<<~WARNING, inline: true)
9991009
Default version of Yarn changed (#{old_version} to #{version})

0 commit comments

Comments
 (0)