Skip to content

Commit 8ced070

Browse files
authored
Merge pull request #68 from OpenVoxProject/update_for_bolt
Add update_gems rake task and rename bolt -> openbolt
2 parents 33740b2 + 008d261 commit 8ced070

File tree

95 files changed

+689
-303
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+689
-303
lines changed

Gemfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ group(:development, optional: true) do
2020
gem 'parallel', require: false
2121
gem 'colorize', require: false
2222
gem 'hashdiff', require: false
23+
gem 'tty-table', require: false
2324
end
2425

2526
group(:release, optional: true) do
2627
gem 'faraday-retry', '~> 2.1', require: false
2728
gem 'github_changelog_generator', '~> 1.16.4', require: false
2829
end
29-
30-
#gem 'rubocop', "~> 0.34.2"

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,47 @@ Where:
5555
the [configs/platforms](configs/platforms) directory
5656
- `target-vm` is the hostname of the VM you will build on. You must have root
5757
ssh access configured for this host, and it must match the target platform.
58+
59+
## Updating rubygem components
60+
61+
This repo includes a rake task that will use the RubyGems API to update all rubygem components, including adding any missing runtime dependencies.
62+
```
63+
$ bundle exec rake vox:update_gems
64+
```
65+
In each `rubygem-*.rb` file in `configs/components`, you will find a "magic" block near the top. For example:
66+
```
67+
### Maintained by update_gems automation ###
68+
pkg.version '2.14.0'
69+
pkg.sha256sum '8699cfe5d97e55268f2596f9a9d5a43736808a943714e3d9a53e6110593941cd'
70+
pkg.build_requires 'rubygem-faraday-net_http'
71+
pkg.build_requires 'rubygem-json'
72+
pkg.build_requires 'rubygem-logger'
73+
### End automated maintenance section ###
74+
```
75+
Everything in this block can be automatically updated by the rake task. There are some special comments that change the behavior.
76+
77+
`# 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:
78+
```
79+
### Maintained by update_gems automation ###
80+
# PINNED
81+
pkg.version '2.14.0'
82+
pkg.sha256sum '8699cfe5d97e55268f2596f9a9d5a43736808a943714e3d9a53e6110593941cd'
83+
pkg.build_requires 'rubygem-faraday-net_http'
84+
pkg.build_requires 'rubygem-json'
85+
pkg.build_requires 'rubygem-logger'
86+
### End automated maintenance section ###
87+
```
88+
89+
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:
90+
```
91+
### Maintained by update_gems automation ###
92+
pkg.version '1.17.2'
93+
if platform.is_windows?
94+
# GEM TYPE: x64-mingw32
95+
pkg.sha256sum ''
96+
else
97+
pkg.sha256sum '297235842e5947cc3036ebe64077584bff583cd7a4e94e9a02fdec399ef46da6'
98+
end
99+
### End automated maintenance section ###
100+
```
101+
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.

configs/components/rubygem-CFPropertyList.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
# Component release information:
33
# https://rubygems.org/gems/CFPropertyList
44
# https://github.com/ckruse/CFPropertyList/tags
5+
# Notes:
6+
# - 2025-11-03: Removed pinning agent-runtime-7.x to 2.x since CFPropertList 3.x dropped support
7+
# for Ruby 1.8, and the latest should still work on 2.7.
58
#####
69
component 'rubygem-CFPropertyList' do |pkg, settings, platform|
7-
if settings[:ruby_version].to_f >= 3.2
8-
pkg.version '3.0.7'
9-
pkg.md5sum 'ed89ce5e7074a6f8e8b8e744eaf014d0'
10-
else
11-
pkg.version '2.3.6'
12-
pkg.md5sum 'ae4086185992f293ffab1641b83286a5'
13-
end
10+
### Maintained by update_gems automation ###
11+
pkg.version '3.0.7'
12+
pkg.md5sum 'ed89ce5e7074a6f8e8b8e744eaf014d0'
13+
### End automated maintenance section ###
1414

1515
instance_eval File.read('configs/components/_base-rubygem.rb')
1616
pkg.environment "GEM_HOME", settings[:gem_home]

configs/components/rubygem-addressable.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
# https://rubygems.org/gems/addressable
44
# https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md
55
#####
6-
component "rubygem-addressable" do |pkg, settings, platform|
7-
pkg.version "2.8.7"
8-
pkg.sha256sum "462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232"
6+
component 'rubygem-addressable' do |pkg, settings, platform|
7+
### Maintained by update_gems automation ###
8+
pkg.version '2.8.7'
9+
pkg.sha256sum '462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232'
10+
### End automated maintenance section ###
911

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

configs/components/rubygem-aws-eventstream.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
# https://rubygems.org/gems/aws-eventstream
44
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-eventstream/CHANGELOG.md
55
#####
6-
component "rubygem-aws-eventstream" do |pkg, settings, platform|
6+
component 'rubygem-aws-eventstream' do |pkg, settings, platform|
7+
### Maintained by update_gems automation ###
78
pkg.version '1.4.0'
89
pkg.sha256sum '116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b'
10+
### End automated maintenance section ###
911

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

configs/components/rubygem-aws-partitions.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
# https://rubygems.org/gems/aws-partitions
44
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md
55
#####
6-
component "rubygem-aws-partitions" do |pkg, settings, platform|
6+
component 'rubygem-aws-partitions' do |pkg, settings, platform|
7+
### Maintained by update_gems automation ###
78
pkg.version '1.1154.0'
89
pkg.sha256sum 'be80a8e07b87ce6c936eb251a8f371a887e07ed21ca7f45e5e1b66949eb77294'
10+
### End automated maintenance section ###
911

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

configs/components/rubygem-aws-sdk-core.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
# https://rubygems.org/gems/aws-sdk-core
44
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md
55
#####
6-
component "rubygem-aws-sdk-core" do |pkg, settings, platform|
6+
component 'rubygem-aws-sdk-core' do |pkg, settings, platform|
7+
### Maintained by update_gems automation ###
78
pkg.version '3.232.0'
89
pkg.sha256sum '05291ae0da4fb69e9b6494fcc2d839584e8345714a93cd01f0f1bf11475619f2'
10+
### End automated maintenance section ###
911

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

configs/components/rubygem-aws-sdk-ec2.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
# https://rubygems.org/gems/aws-sdk-ec2
44
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md
55
#####
6-
component "rubygem-aws-sdk-ec2" do |pkg, settings, platform|
6+
component 'rubygem-aws-sdk-ec2' do |pkg, settings, platform|
7+
### Maintained by update_gems automation ###
78
pkg.version '1.555.0'
89
pkg.sha256sum 'e323b6a5f810b97e51fc64befc4c88dba4dfa81c8ebb841907bad4cb7969f92f'
10+
### End automated maintenance section ###
911

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

configs/components/rubygem-aws-sigv4.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
# https://rubygems.org/gems/aws-sigv4
44
# https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sigv4/CHANGELOG.md
55
#####
6-
component "rubygem-aws-sigv4" do |pkg, settings, platform|
6+
component 'rubygem-aws-sigv4' do |pkg, settings, platform|
7+
### Maintained by update_gems automation ###
78
pkg.version '1.12.1'
89
pkg.sha256sum '6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00'
10+
### End automated maintenance section ###
911

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

configs/components/rubygem-base64.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
# https://github.com/ruby/base64/releases
55
#####
66
component 'rubygem-base64' do |pkg, settings, platform|
7+
### Maintained by update_gems automation ###
78
pkg.version '0.3.0'
89
pkg.sha256sum '27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b'
10+
### End automated maintenance section ###
911

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

0 commit comments

Comments
 (0)