obs_deploy 0.3.2 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5b16b77225b642cdcc26e723e6c9d6b97615dbf23c898e24ce6ddb35c728761
4
- data.tar.gz: 37ec0c9e13a348103d0049c619da0f774d39ff73f1d7daa69b29148b3500a36a
3
+ metadata.gz: f424197a6b29d89f689ad542f9db8ddfe254f30cde3921ed1b6f84dbaa0ae91d
4
+ data.tar.gz: ffd9b96ead058cd6d9fd5205d3b5abf4ea916d7930f004ebed1de260ed62412e
5
5
  SHA512:
6
- metadata.gz: 36bcb33b807e433fdb19f8a5cfaf73dc5e9b98dd5b8152e4e2aa8de0dffd2d1e4ee4001b99c1b97b2155f79e1e3cad0f3af71c7a28915d7719a63e052a1044ff
7
- data.tar.gz: 8a463bf31c90f57034bbcb7599a378c3494f33543f4273077b565a0250949ba342578dfbc597ff41224c59d59af1baa22456e035eb6da30ae104224b6109ef5b
6
+ metadata.gz: '08adcee578dc463265e9974a2150917ab364f98b37165ff809abde7cb722265e9b058b0d87367f7731f6d09379c5e0bda49c594d4393e9f4f8e8159f4c4599be'
7
+ data.tar.gz: e7cac12fb1c5e4ba35f29e4ec3604c5109e153327d9c032e6ac8935796e2bbf04482ae49526a1a38e8c4017db1b43e596711cd30272340e82b3a83d7d345469a
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- obs_deploy (0.3.2)
4
+ obs_deploy (0.3.7)
5
5
  cheetah
6
6
  dry-cli
7
+ git_diff_parser
7
8
  nokogiri
8
9
 
9
10
  GEM
@@ -16,17 +17,18 @@ GEM
16
17
  cheetah (0.5.2)
17
18
  abstract_method (~> 1.2)
18
19
  coderay (1.1.2)
19
- concurrent-ruby (1.1.7)
20
+ concurrent-ruby (1.1.8)
20
21
  crack (0.4.3)
21
22
  safe_yaml (~> 1.0.0)
22
23
  diff-lcs (1.3)
23
24
  dry-cli (0.6.0)
24
25
  concurrent-ruby (~> 1.0)
26
+ git_diff_parser (3.2.0)
25
27
  hashdiff (1.0.1)
26
28
  jaro_winkler (1.5.4)
27
29
  method_source (1.0.0)
28
30
  mini_portile2 (2.5.0)
29
- nokogiri (1.11.0)
31
+ nokogiri (1.11.1)
30
32
  mini_portile2 (~> 2.5.0)
31
33
  racc (~> 1.4)
32
34
  parallel (1.19.1)
data/lib/obs_deploy.rb CHANGED
@@ -4,8 +4,8 @@ require 'open-uri'
4
4
  require 'net/http'
5
5
  require 'cheetah'
6
6
  require 'logger'
7
-
8
7
  require 'nokogiri'
8
+ require 'git_diff_parser'
9
9
  require 'obs_deploy/version'
10
10
  require 'obs_deploy/check_diff'
11
11
  require 'obs_deploy/ssh'
@@ -34,7 +34,7 @@ module ObsDeploy
34
34
  def has_migration?
35
35
  return true if github_diff.nil? || github_diff.empty?
36
36
 
37
- github_diff.match?(%r{db/migrate})
37
+ GitDiffParser.parse(github_diff).files.any? { |f| f.match?(%r{db/migrate}) }
38
38
  end
39
39
 
40
40
  def has_data_migration?
@@ -14,14 +14,14 @@ module ObsDeploy
14
14
  autoload :GetDiff, File.join(__dir__, 'commands/get_diff.rb')
15
15
 
16
16
  # register the commands and its command line
17
- register 'available-package', GetPackageVersion
18
- register 'deployed-version', GetDeployedVersion
17
+ register 'available-package', GetPackageVersion, aliases: ['ap']
18
+ register 'deployed-version', GetDeployedVersion, aliases: ['dv']
19
19
  register 'version', Version, aliases: ['v', '-v', '--version']
20
- register 'deploy', Deploy
21
- register 'refresh-repositories', RefreshRepositories
22
- register 'systemctl', Systemctl
23
- register 'pending-migrations', GetPendingMigration
24
- register 'check-diff', GetDiff
20
+ register 'deploy', Deploy, aliases: ['dp']
21
+ register 'refresh-repositories', RefreshRepositories, aliases: ['rr']
22
+ register 'systemctl', Systemctl, aliases: ['sys']
23
+ register 'pending-migrations', GetPendingMigration, aliases: ['pm']
24
+ register 'check-diff', GetDiff, aliases: ['cd']
25
25
  end
26
26
  end
27
27
  end
@@ -6,8 +6,14 @@ module ObsDeploy
6
6
  class GetDeployedVersion < Dry::CLI::Command
7
7
  desc 'Get the deployed version of OBS'
8
8
  option :url, type: :string, default: 'https://api.opensuse.org', desc: 'API url'
9
+ option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
10
+
11
+ def call(url:, ignore_certificate:, **)
12
+ if ignore_certificate
13
+ OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
14
+ OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
15
+ end
9
16
 
10
- def call(url:, **)
11
17
  puts "Deployed version: #{ObsDeploy::CheckDiff.new(server: url).obs_running_commit}"
12
18
  end
13
19
  end
@@ -10,8 +10,13 @@ module ObsDeploy
10
10
  option :project, type: :string, default: 'OBS:Server:Unstable', desc: 'Project name'
11
11
  option :product, type: :string, default: 'SLE_12_SP4', desc: 'Product name'
12
12
  option :architecture, type: :string, default: 'x86_64', desc: 'Architecture'
13
+ option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
13
14
 
14
- def call(url:, product:, project:, **)
15
+ def call(url:, product:, project:, ignore_certificate:, **)
16
+ if ignore_certificate
17
+ OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
18
+ OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
19
+ end
15
20
  puts "diff : #{ObsDeploy::CheckDiff.new(server: url, project: project, product: product).github_diff}"
16
21
  end
17
22
  end
@@ -9,8 +9,14 @@ module ObsDeploy
9
9
  option :package, type: :string, default: 'obs-api', desc: 'Package name'
10
10
  option :product, type: :string, default: 'SLE_12_SP4', desc: 'Product name'
11
11
  option :architecture, type: :string, default: 'x86_64', desc: 'Architecture'
12
+ option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
13
+
14
+ def call(url:, ignore_certificate:, product:, **)
15
+ if ignore_certificate
16
+ OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
17
+ OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
18
+ end
12
19
 
13
- def call(url:, product:, **)
14
20
  puts "Available package: #{ObsDeploy::CheckDiff.new(server: url, product: product).package_version}"
15
21
  end
16
22
  end
@@ -5,8 +5,14 @@ module ObsDeploy
5
5
  module Commands
6
6
  class GetPendingMigration < Dry::CLI::Command
7
7
  option :url, type: :string, default: 'https://api.opensuse.org', desc: 'API url'
8
+ option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
9
+
10
+ def call(url:, ignore_certificate:, **)
11
+ if ignore_certificate
12
+ OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
13
+ OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
14
+ end
8
15
 
9
- def call(url:, **)
10
16
  migrations = ObsDeploy::CheckDiff.new(server: url).migrations
11
17
  if migrations.empty?
12
18
  puts 'No pending migrations'
@@ -6,13 +6,12 @@ module ObsDeploy
6
6
  class RefreshRepositories < Dry::CLI::Command
7
7
  desc 'Refresh zypper repositories'
8
8
  option :user, type: :string, default: 'root', desc: 'User'
9
- option :dry_run, type: :bool, default: true, desc: 'Dry run'
10
9
  option :host, type: :string, default: 'localhost', desc: 'Set the server address'
11
10
  option :port, type: :int, default: 22, desc: 'Set the server port'
12
11
 
13
- def call(user:, dry_run:, host:, port:, **)
12
+ def call(user:, host:, port:, **)
14
13
  ssh_driver = ObsDeploy::SSH.new(user: user, server: host, port: port)
15
- zypper = ObsDeploy::Zypper.new(dry_run: dry_run)
14
+ zypper = ObsDeploy::Zypper.new
16
15
  ssh_driver.run(zypper.refresh)
17
16
  end
18
17
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pry'
4
3
  module ObsDeploy
5
4
  module CLI
6
5
  module Commands
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ObsDeploy
4
- VERSION = '0.3.2'
4
+ VERSION = '0.3.7'
5
5
  end
data/obs_deploy.gemspec CHANGED
@@ -35,5 +35,6 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency 'webmock'
36
36
  spec.add_dependency 'cheetah'
37
37
  spec.add_dependency 'dry-cli'
38
+ spec.add_dependency 'git_diff_parser'
38
39
  spec.add_dependency 'nokogiri'
39
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: obs_deploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Pereira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-05 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: git_diff_parser
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: nokogiri
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +164,6 @@ files:
150
164
  - ".gitignore"
151
165
  - ".rspec"
152
166
  - ".rubocop.yml"
153
- - ".travis.yml"
154
167
  - Dockerfile.dev
155
168
  - Dockerfile.rpm
156
169
  - Gemfile
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6.3
7
- before_install: gem install bundler -v 2.0.2