Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file removed .gitmodules
Empty file.
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,20 @@
## [Unreleased]


## [v284] - 2024-11-15

- Default Node.js version now 22.11.0 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)
- Default Yarn version now 1.22.22 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)

## [v283] - 2024-11-14

- No customer facing changes

## [v282] - 2024-11-08

- [Rolled back] Default Node.js version now 22.11.0 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)
- [Rolled back] Default Yarn version now 1.22.22 (https://github.com/heroku/heroku-buildpack-ruby/pull/1503)

## [v281] - 2024-11-07

- Ruby 3.3.6 is now available (https://github.com/heroku/heroku-buildpack-ruby/pull/1511)
Expand Down Expand Up @@ -1584,7 +1598,10 @@ Bugfixes:
* Change gem detection to use lockfile parser
* use `$RACK_ENV` when thin is detected for rack apps

[unreleased]: https://github.com/heroku/heroku-buildpack-ruby/compare/v281...main
[unreleased]: https://github.com/heroku/heroku-buildpack-ruby/compare/v284...main
[v284]: https://github.com/heroku/heroku-buildpack-ruby/compare/v283...v284
[v283]: https://github.com/heroku/heroku-buildpack-ruby/compare/v282...v283
[v282]: https://github.com/heroku/heroku-buildpack-ruby/compare/v281...v282
[v281]: https://github.com/heroku/heroku-buildpack-ruby/compare/v280...v281
[v280]: https://github.com/heroku/heroku-buildpack-ruby/compare/v279...v280
[v279]: https://github.com/heroku/heroku-buildpack-ruby/compare/v278...v279
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ group :development, :test do
gem "parallel_tests"
gem 'rspec-retry'
gem 'json'
gem 'ci-queue'
gem 'ci-queue', github: "schneems/ci-queue", branch: "schneems/allow-hosted-redis"
gem 'redis'
gem 'dead_end'
end
14 changes: 11 additions & 3 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
GIT
remote: https://github.com/schneems/ci-queue.git
revision: 285353ba8bc58e1b2ed02dedf55730400c27e32b
branch: schneems/allow-hosted-redis
specs:
ci-queue (0.58.0)
logger

GEM
remote: https://rubygems.org/
specs:
base64 (0.2.0)
ci-queue (0.55.0)
citrus (3.0.2)
connection_pool (2.4.1)
dead_end (4.0.0)
Expand All @@ -23,6 +30,7 @@ GEM
thor (~> 1)
threaded (~> 0)
json (2.7.2)
logger (1.6.1)
moneta (1.0.0)
multi_json (1.15.0)
parallel (1.25.1)
Expand All @@ -34,7 +42,7 @@ GEM
rate_throttle_client (~> 0.1.0)
rake (13.2.1)
rate_throttle_client (0.1.2)
redis (5.2.0)
redis (5.3.0)
redis-client (>= 0.22.0)
redis-client (0.22.2)
connection_pool
Expand All @@ -57,7 +65,7 @@ PLATFORMS
ruby

DEPENDENCIES
ci-queue
ci-queue!
dead_end
excon
heroku_hatchet
Expand Down
1 change: 0 additions & 1 deletion VERSION

This file was deleted.

2 changes: 1 addition & 1 deletion app.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
},
"scripts": {
"test-setup": "bundle exec rake hatchet:setup_ci",
"test": "bundle exec rspec-queue --max-requeues=3 --timeout 180 --queue $REDIS_URL || { cat log/test_order.log; $(exit 1); }"
"test": "bundle exec rspec-queue --max-requeues=3 --timeout 180 --queue $REDIS_URL --format documentation || { cat log/test_order.log; $(exit 1); }"
},
"buildpacks": [
{
Expand Down
8 changes: 8 additions & 0 deletions changelogs/v284/node-yarn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Ruby apps now default to Node version 22.11.0 and Yarn version 1.22.22

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:

- Node version 22.11.0
- Yarn version 1.22.22

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).
5 changes: 3 additions & 2 deletions lib/language_pack/fetcher.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ def fetch(path)
run!(curl, error_class: FetchError)
end

def fetch_untar(path, files_to_extract = nil)
def fetch_untar(path, files_to_extract = nil, strip_components: 0)
curl = curl_command("#{@host_url.join(path)} -s -o")
run! "#{curl} - | tar zxf - #{files_to_extract}",
tar_cmd = ["tar zxf - #{files_to_extract}", "--strip #{strip_components}"]
run! "#{curl} - | #{tar_cmd.join(" ")}",
error_class: FetchError,
max_attempts: 3
end
Expand Down
4 changes: 2 additions & 2 deletions lib/language_pack/helpers/nodebin.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
require 'json'

class LanguagePack::Helpers::Nodebin
NODE_VERSION = "20.9.0"
YARN_VERSION = "1.22.19"
NODE_VERSION = "22.11.0"
YARN_VERSION = "1.22.22"

def self.hardcoded_node_lts(arch: )
arch = "x64" if arch == "amd64"
Expand Down
4 changes: 2 additions & 2 deletions lib/language_pack/helpers/yarn_installer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ def binary_path
def install
Dir.mktmpdir do |dir|
Dir.chdir(dir) do
@fetcher.fetch_untar(@url)
@fetcher.fetch_untar(@url, strip_components: 1)
end

FileUtils.mv(File.join(dir, name), name)
FileUtils.cp_r(dir, name)
end
end
end
2 changes: 1 addition & 1 deletion lib/language_pack/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

module LanguagePack
class LanguagePack::Base
BUILDPACK_VERSION = "v281"
BUILDPACK_VERSION = "v284"
end
end