brightbox-cli 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e929ec8c3d8a07bace33e5bbe1d7abf05ab2bbea81478251dda30dfaf8092de
4
- data.tar.gz: dba86d8b80857f383a4b9fa4a977c6ff34f02d837e1f1f959a10133eb893f9f3
3
+ metadata.gz: 762c685461579ff25f8897f1e1dc628d8b54624aef6524d681fedfc820422593
4
+ data.tar.gz: 131247b684d91cbdc8642f5a9c01de913fd415fc98b3b5fd6c32d5f4fe90d444
5
5
  SHA512:
6
- metadata.gz: b805583af2e9a07fb8d1936e116ad6bf4df7e5d95c9e531400f2e1eb79db391ddb2b6f38362c402956e73d4e5495948bbfb341cd015b98d21f3e95d998138710
7
- data.tar.gz: 19925cf75cbc66ac82b5e91a34a7fc76e18fc34086b91b7eb271659665664f6907d759cebf872b56b0cb6e5bace2ef053d0f501393e123d112a2bb6ad195096d
6
+ metadata.gz: e150f42838b2597cfbf35778514fbc8c9dbd42fd571be5a09709bd8b4a2dde6d1957d265646f88b06213be664a1414a1f1e77f6d949899721297072055a4abb4
7
+ data.tar.gz: 7ceab3597a0ecd83bb829b8833309c20b245d2f0fb49022c52dec8c68be7b0646a17c39a65763b60e210819b35478950b2155adc465c4c65ad12b4ac309931ee
@@ -0,0 +1,50 @@
1
+ FROM mcr.microsoft.com/devcontainers/ruby:2-3.4-trixie
2
+
3
+ # Install additional OS packages
4
+ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
5
+ && apt-get -y install --no-install-recommends \
6
+ libssl-dev \
7
+ libreadline-dev \
8
+ zlib1g-dev \
9
+ libncurses-dev \
10
+ libyaml-dev \
11
+ libffi-dev \
12
+ libgdbm-dev \
13
+ && apt-get clean -y && rm -rf /var/lib/apt/lists/*
14
+
15
+ # Switch to vscode user
16
+ USER vscode
17
+
18
+ # Install OpenSSL 1.1.1w locally
19
+ RUN mkdir -p /home/vscode/.openssl_src \
20
+ && cd /home/vscode/.openssl_src \
21
+ && wget -q https://www.openssl.org/source/openssl-1.1.1w.tar.gz \
22
+ && tar -zxf openssl-1.1.1w.tar.gz \
23
+ && cd openssl-1.1.1w \
24
+ && ./config --prefix=/home/vscode/.openssl/1.1.1w --openssldir=/home/vscode/.openssl/1.1.1w \
25
+ && make \
26
+ && make install \
27
+ && cd .. \
28
+ && rm -rf /home/vscode/.openssl_src
29
+
30
+ # Link system certificates
31
+ RUN rmdir /home/vscode/.openssl/1.1.1w/certs \
32
+ && ln -s /etc/ssl/certs /home/vscode/.openssl/1.1.1w/certs \
33
+ && ln -s /etc/ssl/certs/ca-certificates.crt /home/vscode/.openssl/1.1.1w/cert.pem
34
+
35
+ # Update RVM
36
+ USER root
37
+ SHELL ["/bin/bash", "-lc"]
38
+ RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
39
+ && curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - \
40
+ && rvm get master
41
+
42
+ # Install Rubies
43
+ USER vscode
44
+ RUN git config --global --add safe.directory /usr/local/rvm/repos/ruby
45
+ ENV RUBY_CFLAGS="-Wno-error=implicit-function-declaration"
46
+ RUN rvm install 2.7 --disable-binary --with-openssl-dir=/home/vscode/.openssl/1.1.1w
47
+ RUN rvm install 3.0 --disable-binary --with-openssl-dir=/home/vscode/.openssl/1.1.1w
48
+ RUN rvm install 3.1.6 --disable-binary
49
+ RUN rvm install 3.2.4 --disable-binary
50
+ RUN rvm install 3.3.1 --disable-binary
@@ -0,0 +1,37 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the
2
+ // README at: https://github.com/devcontainers/templates/tree/main/src/ruby
3
+ {
4
+ "name": "Ruby",
5
+ // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6
+ "build": {
7
+ "dockerfile": "Dockerfile"
8
+ },
9
+
10
+ // Features to add to the dev container. More info: https://containers.dev/features.
11
+ "features": {
12
+ "ghcr.io/devcontainers-extra/features/fish-apt-get:1": {},
13
+ "ghcr.io/devcontainers-extra/features/neovim-apt-get:1": {},
14
+ "ghcr.io/devcontainers-extra/features/ripgrep:1": {},
15
+ "ghcr.io/schlich/devcontainer-features/jujutsu:0": {},
16
+ "ghcr.io/stuartleeks/dev-container-features/shell-history:0": {}
17
+ },
18
+ "customizations": {
19
+ "vscode": {
20
+ "extensions": [
21
+ "visualjj.visualjj"
22
+ ]
23
+ }
24
+ }
25
+
26
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
27
+ // "forwardPorts": [],
28
+
29
+ // Use 'postCreateCommand' to run commands after the container is created.
30
+ // "postCreateCommand": "ruby --version",
31
+
32
+ // Configure tool-specific properties.
33
+ // "customizations": {},
34
+
35
+ // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
36
+ // "remoteUser": "root"
37
+ }
@@ -21,7 +21,7 @@ jobs:
21
21
  strategy:
22
22
  fail-fast: false
23
23
  matrix:
24
- ruby: ["2.7", "3.0", "3.1", "3.2", "3.3"]
24
+ ruby: ["2.7", "3.0", "3.1", "3.2", "3.3", "head"]
25
25
  env:
26
26
  DEBUG: "true"
27
27
  steps:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ### v5.1.0 / 2025-12-18
2
+
3
+ [Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v5.0.0...v5.1.0)
4
+
5
+ Enhancements:
6
+
7
+ * Update dependencies for Ruby 4.0 support
8
+
9
+ Changes:
10
+
11
+ * Numerous dependency gems updated
12
+
13
+ Testing:
14
+
15
+ * Added development container
16
+ * CI changes
17
+
1
18
  ### v5.0.0 / 2025-01-20
2
19
 
3
20
  [Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v4.8.0...v5.0.0)
data/Gemfile.lock CHANGED
@@ -1,7 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- brightbox-cli (5.0.0)
4
+ brightbox-cli (5.1.0)
5
+ abbrev
6
+ base64
7
+ bigdecimal
5
8
  fog-brightbox (>= 1.12.0)
6
9
  fog-core (< 2.0)
7
10
  gli (~> 2.21)
@@ -10,13 +13,17 @@ PATH
10
13
  i18n (>= 0.6, < 1.11)
11
14
  mime-types (~> 3.0)
12
15
  multi_json (~> 1.11)
16
+ ostruct
13
17
 
14
18
  GEM
15
19
  remote: https://rubygems.org/
16
20
  specs:
21
+ abbrev (0.1.2)
17
22
  addressable (2.8.0)
18
23
  public_suffix (>= 2.0.2, < 5.0)
19
24
  ast (2.4.2)
25
+ base64 (0.3.0)
26
+ bigdecimal (3.3.1)
20
27
  builder (3.3.0)
21
28
  coderay (1.1.3)
22
29
  concurrent-ruby (1.3.4)
@@ -52,6 +59,7 @@ GEM
52
59
  mime-types-data (3.2024.1203)
53
60
  mocha (1.14.0)
54
61
  multi_json (1.15.0)
62
+ ostruct (0.6.3)
55
63
  parallel (1.22.1)
56
64
  parser (3.1.2.0)
57
65
  ast (~> 2.4.1)
@@ -65,7 +73,7 @@ GEM
65
73
  rainbow (3.1.1)
66
74
  rake (13.0.6)
67
75
  regexp_parser (2.5.0)
68
- rexml (3.3.9)
76
+ rexml (3.4.2)
69
77
  rspec (3.11.0)
70
78
  rspec-core (~> 3.11.0)
71
79
  rspec-expectations (~> 3.11.0)
data/Jenkinsfile CHANGED
@@ -4,39 +4,37 @@ pipeline {
4
4
  ansiColor('xterm')
5
5
  }
6
6
  triggers {
7
- cron('@monthly')
7
+ cron('@weekly')
8
8
  }
9
9
  stages {
10
10
  stage("Run tests") {
11
11
  parallel {
12
- stage("Ruby 2.5") {
12
+ stage("Ruby 2.7") {
13
13
  agent {
14
14
  docker {
15
- image 'ruby:2.5'
15
+ image 'ruby:2.7'
16
16
  }
17
17
  }
18
18
  steps {
19
- sh 'gem install bundler:2.1.4'
20
19
  sh 'bundle install --deployment'
21
20
  sh 'bundle exec rake spec'
22
21
  }
23
22
  }
24
- stage("Ruby 2.6") {
23
+ stage("Ruby 3.0") {
25
24
  agent {
26
25
  docker {
27
- image 'ruby:2.6'
26
+ image 'ruby:3.0'
28
27
  }
29
28
  }
30
29
  steps {
31
- sh 'gem install bundler:2.1.4'
32
30
  sh 'bundle install --deployment'
33
31
  sh 'bundle exec rake spec'
34
32
  }
35
33
  }
36
- stage("Ruby 2.7") {
34
+ stage("Ruby 3.1") {
37
35
  agent {
38
36
  docker {
39
- image 'ruby:2.7'
37
+ image 'ruby:3.1'
40
38
  }
41
39
  }
42
40
  steps {
@@ -44,10 +42,10 @@ pipeline {
44
42
  sh 'bundle exec rake spec'
45
43
  }
46
44
  }
47
- stage("Ruby 3.0") {
45
+ stage("Ruby 3.2") {
48
46
  agent {
49
47
  docker {
50
- image 'ruby:3.0'
48
+ image 'ruby:3.2'
51
49
  }
52
50
  }
53
51
  steps {
@@ -55,10 +53,10 @@ pipeline {
55
53
  sh 'bundle exec rake spec'
56
54
  }
57
55
  }
58
- stage("Ruby 3.1") {
56
+ stage("Ruby 3.3") {
59
57
  agent {
60
58
  docker {
61
- image 'ruby:3.1'
59
+ image 'ruby:3.3'
62
60
  }
63
61
  }
64
62
  steps {
@@ -21,6 +21,9 @@ Gem::Specification.new do |s|
21
21
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
22
22
  s.require_paths = ["lib"]
23
23
 
24
+ s.add_dependency "abbrev"
25
+ s.add_dependency "base64"
26
+ s.add_dependency "bigdecimal"
24
27
  s.add_dependency "fog-brightbox", ">= 1.12.0"
25
28
  s.add_dependency "fog-core", "< 2.0"
26
29
  s.add_dependency "gli", "~> 2.21"
@@ -29,6 +32,7 @@ Gem::Specification.new do |s|
29
32
  s.add_dependency "i18n", ">= 0.6", "< 1.11"
30
33
  s.add_dependency "mime-types", "~> 3.0"
31
34
  s.add_dependency "multi_json", "~> 1.11"
35
+ s.add_dependency "ostruct"
32
36
 
33
37
  s.add_development_dependency "mocha"
34
38
  s.add_development_dependency "pry-remote"
@@ -1,3 +1,3 @@
1
1
  module Brightbox
2
- VERSION = "5.0.0".freeze unless defined?(Brightbox::VERSION)
2
+ VERSION = "5.1.0".freeze unless defined?(Brightbox::VERSION)
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -9,7 +9,6 @@ SimpleCov.start do
9
9
 
10
10
  # Currently just above 75% coverage - don't make it worse
11
11
  minimum_coverage 75
12
- refuse_coverage_drop
13
12
  end
14
13
 
15
14
  LIB_DIR = File.expand_path(File.join(File.dirname(__FILE__), "..", "lib"))
data/spec/support/vcr.rb CHANGED
@@ -1,3 +1,17 @@
1
+ # Polyfill for newer Ruby versions that remove
2
+ require "cgi"
3
+
4
+ unless CGI.respond_to?(:parse)
5
+ require "uri"
6
+ def CGI.parse(query)
7
+ params = Hash.new { |h, k| h[k] = [] }
8
+ URI.decode_www_form(query).each do |key, value|
9
+ params[key] << value
10
+ end
11
+ params
12
+ end
13
+ end
14
+
1
15
  require "vcr"
2
16
 
3
17
  VCR.configure do |vcr|
metadata CHANGED
@@ -1,15 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brightbox-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Leach
8
8
  - Paul Thornthwaite
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2025-01-20 00:00:00.000000000 Z
12
+ date: 2025-12-18 00:00:00.000000000 Z
12
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: abbrev
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: base64
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bigdecimal
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
13
56
  - !ruby/object:Gem::Dependency
14
57
  name: fog-brightbox
15
58
  requirement: !ruby/object:Gem::Requirement
@@ -128,6 +171,20 @@ dependencies:
128
171
  - - "~>"
129
172
  - !ruby/object:Gem::Version
130
173
  version: '1.11'
174
+ - !ruby/object:Gem::Dependency
175
+ name: ostruct
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ type: :runtime
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
131
188
  - !ruby/object:Gem::Dependency
132
189
  name: mocha
133
190
  requirement: !ruby/object:Gem::Requirement
@@ -278,6 +335,8 @@ executables:
278
335
  extensions: []
279
336
  extra_rdoc_files: []
280
337
  files:
338
+ - ".devcontainer/Dockerfile"
339
+ - ".devcontainer/devcontainer.json"
281
340
  - ".gitattributes"
282
341
  - ".github/workflows/ruby.yml"
283
342
  - ".gitignore"
@@ -826,6 +885,7 @@ licenses:
826
885
  - MIT
827
886
  metadata:
828
887
  rubygems_mfa_required: 'true'
888
+ post_install_message:
829
889
  rdoc_options: []
830
890
  require_paths:
831
891
  - lib
@@ -840,7 +900,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
840
900
  - !ruby/object:Gem::Version
841
901
  version: '0'
842
902
  requirements: []
843
- rubygems_version: 3.6.2
903
+ rubygems_version: 3.5.16
904
+ signing_key:
844
905
  specification_version: 4
845
906
  summary: The Brightbox cloud management system
846
907
  test_files: