Skip to content
Merged
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
3 changes: 1 addition & 2 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@ group(:development, optional: true) do
gem 'parallel', require: false
gem 'colorize', require: false
gem 'hashdiff', require: false
gem 'tty-table', require: false
end

group(:release, optional: true) do
gem 'faraday-retry', '~> 2.1', require: false
gem 'github_changelog_generator', '~> 1.16.4', require: false
end

#gem 'rubocop', "~> 0.34.2"
44 changes: 44 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,47 @@ Where:
the [configs/platforms](configs/platforms) directory
- `target-vm` is the hostname of the VM you will build on. You must have root
ssh access configured for this host, and it must match the target platform.

## Updating rubygem components

This repo includes a rake task that will use the RubyGems API to update all rubygem components, including adding any missing runtime dependencies.
```
$ bundle exec rake vox:update_gems
```
In each `rubygem-*.rb` file in `configs/components`, you will find a "magic" block near the top. For example:
```
### Maintained by update_gems automation ###
pkg.version '2.14.0'
pkg.sha256sum '8699cfe5d97e55268f2596f9a9d5a43736808a943714e3d9a53e6110593941cd'
pkg.build_requires 'rubygem-faraday-net_http'
pkg.build_requires 'rubygem-json'
pkg.build_requires 'rubygem-logger'
### End automated maintenance section ###
```
Everything in this block can be automatically updated by the rake task. There are some special comments that change the behavior.

`# PINNED` right before the `pkg.version` line will keep this component at the current version. Dependencies will still be checked to ensure none are missing. For example:
```
### Maintained by update_gems automation ###
# PINNED
pkg.version '2.14.0'
pkg.sha256sum '8699cfe5d97e55268f2596f9a9d5a43736808a943714e3d9a53e6110593941cd'
pkg.build_requires 'rubygem-faraday-net_http'
pkg.build_requires 'rubygem-json'
pkg.build_requires 'rubygem-logger'
### End automated maintenance section ###
```

Adding `# GEM TYPE: <type>` will allow you to specify a checksum for a precompiled version of a gem. This can be used with other logic within the magic block to specify a checksum based on platform. For example:
```
### Maintained by update_gems automation ###
pkg.version '1.17.2'
if platform.is_windows?
# GEM TYPE: x64-mingw32
pkg.sha256sum ''
else
pkg.sha256sum '297235842e5947cc3036ebe64077584bff583cd7a4e94e9a02fdec399ef46da6'
end
### End automated maintenance section ###
```
The rake task will leave any lines it doesn't know about alone (in this case, the if/else/end logic) and update both checksums, with the default without the `# GEM TYPE` decorator being the `ruby` uncompiled gem. Try not to get too fancy with logic in here.
14 changes: 7 additions & 7 deletions configs/components/rubygem-CFPropertyList.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
# Component release information:
# https://rubygems.org/gems/CFPropertyList
# https://github.com/ckruse/CFPropertyList/tags
# Notes:
# - 2025-11-03: Removed pinning agent-runtime-7.x to 2.x since CFPropertList 3.x dropped support
# for Ruby 1.8, and the latest should still work on 2.7.
#####
component 'rubygem-CFPropertyList' do |pkg, settings, platform|
if settings[:ruby_version].to_f >= 3.2
pkg.version '3.0.7'
pkg.md5sum 'ed89ce5e7074a6f8e8b8e744eaf014d0'
else
pkg.version '2.3.6'
pkg.md5sum 'ae4086185992f293ffab1641b83286a5'
end
### Maintained by update_gems automation ###
pkg.version '3.0.7'
pkg.md5sum 'ed89ce5e7074a6f8e8b8e744eaf014d0'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
pkg.environment "GEM_HOME", settings[:gem_home]
Expand Down
8 changes: 5 additions & 3 deletions configs/components/rubygem-addressable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# https://rubygems.org/gems/addressable
# https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md
#####
component "rubygem-addressable" do |pkg, settings, platform|
pkg.version "2.8.7"
pkg.sha256sum "462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232"
component 'rubygem-addressable' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.8.7'
pkg.sha256sum '462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
4 changes: 3 additions & 1 deletion configs/components/rubygem-aws-eventstream.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# https://rubygems.org/gems/aws-eventstream
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-eventstream/CHANGELOG.md
#####
component "rubygem-aws-eventstream" do |pkg, settings, platform|
component 'rubygem-aws-eventstream' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.4.0'
pkg.sha256sum '116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
4 changes: 3 additions & 1 deletion configs/components/rubygem-aws-partitions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# https://rubygems.org/gems/aws-partitions
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md
#####
component "rubygem-aws-partitions" do |pkg, settings, platform|
component 'rubygem-aws-partitions' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.1154.0'
pkg.sha256sum 'be80a8e07b87ce6c936eb251a8f371a887e07ed21ca7f45e5e1b66949eb77294'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
4 changes: 3 additions & 1 deletion configs/components/rubygem-aws-sdk-core.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# https://rubygems.org/gems/aws-sdk-core
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md
#####
component "rubygem-aws-sdk-core" do |pkg, settings, platform|
component 'rubygem-aws-sdk-core' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '3.232.0'
pkg.sha256sum '05291ae0da4fb69e9b6494fcc2d839584e8345714a93cd01f0f1bf11475619f2'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
4 changes: 3 additions & 1 deletion configs/components/rubygem-aws-sdk-ec2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# https://rubygems.org/gems/aws-sdk-ec2
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md
#####
component "rubygem-aws-sdk-ec2" do |pkg, settings, platform|
component 'rubygem-aws-sdk-ec2' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.555.0'
pkg.sha256sum 'e323b6a5f810b97e51fc64befc4c88dba4dfa81c8ebb841907bad4cb7969f92f'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
4 changes: 3 additions & 1 deletion configs/components/rubygem-aws-sigv4.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# https://rubygems.org/gems/aws-sigv4
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sigv4/CHANGELOG.md
#####
component "rubygem-aws-sigv4" do |pkg, settings, platform|
component 'rubygem-aws-sigv4' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.12.1'
pkg.sha256sum '6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-base64.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/ruby/base64/releases
#####
component 'rubygem-base64' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '0.3.0'
pkg.sha256sum '27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-bcrypt_pbkdf.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/net-ssh/bcrypt_pbkdf-ruby/tags
#####
component 'rubygem-bcrypt_pbkdf' do |pkg, _settings, _platform|
### Maintained by update_gems automation ###
pkg.version '1.1.1'
pkg.md5sum '3efcbfd0289e0783513b738823a2deba'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-bindata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/dmendel/bindata/blob/master/ChangeLog.rdoc
#####
component 'rubygem-bindata' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.5.1'
pkg.sha256sum '53186a1ec2da943d4cb413583d680644eb810aacbf8902497aac8f191fad9e58'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-builder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/rails/builder/blob/master/CHANGES
#####
component 'rubygem-builder' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '3.3.0'
pkg.md5sum '3048be022111b96f47bb17c34c67dbc7'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-colored2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/kigster/colored2/releases
#####
component 'rubygem-colored2' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '4.0.3'
pkg.sha256sum '63e1038183976287efc43034f5cca17fb180b4deef207da8ba78d051cbce2b37'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-concurrent-ruby.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md
#####
component 'rubygem-concurrent-ruby' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.3.5'
pkg.sha256sum '813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
3 changes: 3 additions & 0 deletions configs/components/rubygem-connection_pool.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@
# affect performance. There are no security fixes between 2.4.1 and 2.5.4.
#####
component 'rubygem-connection_pool' do |pkg, settings, platform|
### Maintained by update_gems automation ###
# PINNED
pkg.version '2.4.1'
pkg.md5sum 'fd45f00b6d127bb49845afd7f7b91baa'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
8 changes: 5 additions & 3 deletions configs/components/rubygem-cri.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# https://rubygems.org/gems/cri
# https://github.com/denisdefreyne/cri/releases
#####
component "rubygem-cri" do |pkg, settings, platform|
pkg.version "2.15.12"
pkg.sha256sum "8abfe924ef53e772a8e4ee907e791d3bfcfca78bc62a5859e3b9899ba29956e5"
component 'rubygem-cri' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.15.12'
pkg.sha256sum '8abfe924ef53e772a8e4ee907e791d3bfcfca78bc62a5859e3b9899ba29956e5'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-deep_merge.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/danielsdeleo/deep_merge/blob/master/CHANGELOG
#####
component "rubygem-deep_merge" do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.2.2'
pkg.sha256sum '83ced3a3d7f95f67de958d2ce41b1874e83c8d94fe2ddbff50c8b4b82323563a'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')

Expand Down
2 changes: 2 additions & 0 deletions configs/components/rubygem-ed25519.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/RubyCrypto/ed25519/blob/main/CHANGES.md
#####
component 'rubygem-ed25519' do |pkg, _settings, _platform|
### Maintained by update_gems automation ###
pkg.version '1.4.0'
pkg.sha256sum '16e97f5198689a154247169f3453ef4cfd3f7a47481fde0ae33206cdfdcac506'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-erubi.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/jeremyevans/erubi/blob/master/CHANGELOG
#####
component 'rubygem-erubi' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.13.1'
pkg.sha256sum 'a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-em_http.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-em_http/releases
#####
component 'rubygem-faraday-em_http' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.0.1'
pkg.sha256sum '05d3845d0b298a7dfbfb8205db39d10f1bc898d455be7a678ca6f460aba71632'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-em_synchrony.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-em_synchrony/releases
#####
component 'rubygem-faraday-em_synchrony' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.0.1'
pkg.sha256sum 'bf3ce45dcf543088d319ab051f80985ea6d294930635b7a0b966563179f81750'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-excon.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
# https://github.com/excon/faraday-excon/releases
#####
component 'rubygem-faraday-excon' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.3.0'
pkg.sha256sum 'c5fc7175ab284b164496559e35f550587ec5b028b3cdbb40b7ebe83aa7e5b575'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-follow_redirects.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/tisba/faraday-follow-redirects/blob/main/CHANGELOG.md
#####
component 'rubygem-faraday-follow_redirects' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '0.3.0'
pkg.md5sum '75fa678fa40b54a94e51efc1600a6461'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-httpclient.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-httpclient/releases
#####
component 'rubygem-faraday-httpclient' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.0.2'
pkg.sha256sum 'd95fbe60cce5a87e157957d67c539a4c22fb8b0b0611d493a939cdde19d8d67c'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-multipart.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-multipart/releases
#####
component 'rubygem-faraday-multipart' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '1.1.1'
pkg.sha256sum '77a18ff40149030fd1aef55bb4fc7a67ce46419a8a3fcd010e28c2526e8d8903'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-net_http.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-net_http/releases
#####
component 'rubygem-faraday-net_http' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '3.4.1'
pkg.sha256sum '095757fae7872b94eac839c08a1a4b8d84fd91d6886cfbe75caa2143de64ab3b'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-net_http_persistent.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-net_http_persistent/releases
#####
component 'rubygem-faraday-net_http_persistent' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.3.1'
pkg.sha256sum '23ffba37d6a27807a10f033d01918ec958aa73fa6ff0fccfbcd5ce2d2e68fca3'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-patron.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-patron/releases
#####
component 'rubygem-faraday-patron' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.0.2'
pkg.sha256sum 'cd4b77d48e3c638ce25c22b6affe2714cf13af99bfa8348c1c7f6733fc5f2086'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
2 changes: 2 additions & 0 deletions configs/components/rubygem-faraday-rack.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# https://github.com/lostisland/faraday-rack/releases
#####
component 'rubygem-faraday-rack' do |pkg, settings, platform|
### Maintained by update_gems automation ###
pkg.version '2.1.3'
pkg.sha256sum '9869993a8f1010ade286bda697dea43a8f29f0ab760877d73ec7de5d1d18faed'
### End automated maintenance section ###

instance_eval File.read('configs/components/_base-rubygem.rb')
end
Loading