vidar 1.3.1 → 1.4.2

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: 7633bafc2ab4d38d9d5d72ed48c8ebce606744b9202b43ed92fcbda01772e738
4
- data.tar.gz: 8e87868d5d692cbe0278caea8c75b7ba673c5e49c0ec7441412a9bbbafcbce2f
3
+ metadata.gz: 2221a619a3ec66bc0b9943047ecb39e4976cfd570c495aabe2558daa249d320f
4
+ data.tar.gz: df04bae8adbdeedfcac66389265bbd1f6b0e3183224524ffcdd6f167bb7aff7c
5
5
  SHA512:
6
- metadata.gz: c0a3917ada81a599c03000313082b0579b63554eccae04011cdf80b9414369de69cf0a01805ab52ee3e5da4d142b1b8ce8d0f05db09cde4bdd6f990e974ac128
7
- data.tar.gz: 98292c5c32dab51bfd5c07014e82aa4e24db90527a9e81db4181e85f5885f61005f0c14675a03fb11d4a273e6b634849a7f76dc9fe8f3d4d011ee99d39bd5255
6
+ metadata.gz: b647c0749425f3e3234ebcb4dcb7beb992b6e66980d64e66311115f90ee4234ff518f532cd2b3bb4673f86a9defc5a1a218286b27fdee207f8d6acb4b2116984
7
+ data.tar.gz: 052c0c3ddea03b623dd0f0f4b0efbd409c2f254783addff5d43f3b080d270a981ca76d348069c570d7e68e4e059e7635da2c484d4b53f38b455b0a3ec8521d33
data/.bundler-version ADDED
@@ -0,0 +1 @@
1
+ 2.2.27
@@ -3,9 +3,14 @@ version: 1
3
3
  update_configs:
4
4
  - package_manager: "ruby:bundler"
5
5
  directory: "/"
6
- update_schedule: "monthly"
6
+ update_schedule: "daily"
7
7
  commit_message:
8
8
  prefix: "[dependabot]"
9
9
  allowed_updates:
10
10
  - match:
11
- update_type: "all"
11
+ dependency_type: "all"
12
+ update_type: "security"
13
+ automerged_updates:
14
+ - match:
15
+ dependency_type: "all"
16
+ update_type: "security:patch"
@@ -1,18 +1,6 @@
1
- ## Description
1
+ ## Description, motivation and context
2
2
  <!--- Describe your changes in detail -->
3
-
4
- ## Related issue(s)
5
- <!--- GH issue number -->
6
-
7
- ## Motivation and Context
8
3
  <!--- Why is this change required? What problem does it solve? -->
9
- <!--- If it fixes an open issue, please link to the issue here. -->
10
4
 
11
- ## How Has This Been Tested?
12
- <!--- Please describe in detail how you tested your changes. -->
13
-
14
- ## Screenshots (if appropriate):
15
- <!--- Please add any screenshots of the feature. -->
16
-
17
- ## Related PRs
18
- <!--- Please add links to any related PRs (backend, component packages, etc). -->
5
+ ## Related issue(s) or PR(s)
6
+ <!--- GH issue number -->
@@ -12,7 +12,7 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
14
  - name: automerge
15
- uses: "pascalgn/automerge-action@v0.11.0"
15
+ uses: "pascalgn/automerge-action@v0.12.0"
16
16
  env:
17
17
  GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
18
18
  MERGE_METHOD: squash
@@ -0,0 +1,28 @@
1
+ name: Ruby CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['2.7', '3.0']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: Set up Ruby
19
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
20
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
21
+ # uses: ruby/setup-ruby@v1
22
+ uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
23
+ with:
24
+ ruby-version: ${{ matrix.ruby-version }}
25
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
26
+
27
+ - name: Run tests
28
+ run: bundle exec rake ci
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ # CHANGELOG
2
+
3
+ ## 1.4.0 - 2020-12-14
4
+
5
+ - make `default_branch` to be auto-detected
6
+ from `main` and `master`, so it works with [the new github convention]) https://github.blog/changelog/2020-10-01-the-default-branch-for-newly-created-repositories-is-now-main)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- vidar (1.3.1)
4
+ vidar (1.4.2)
5
5
  colorize
6
6
  faraday
7
7
  thor (~> 1.0)
@@ -9,63 +9,88 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- ast (2.4.1)
13
- awesome_print (1.8.0)
12
+ addressable (2.8.0)
13
+ public_suffix (>= 2.0.2, < 5.0)
14
+ ast (2.4.2)
15
+ awesome_print (1.9.2)
14
16
  coderay (1.1.3)
15
17
  colorize (0.8.1)
18
+ crack (0.4.5)
19
+ rexml
16
20
  diff-lcs (1.4.4)
17
- faraday (1.1.0)
21
+ faraday (1.8.0)
22
+ faraday-em_http (~> 1.0)
23
+ faraday-em_synchrony (~> 1.0)
24
+ faraday-excon (~> 1.1)
25
+ faraday-httpclient (~> 1.0.1)
26
+ faraday-net_http (~> 1.0)
27
+ faraday-net_http_persistent (~> 1.1)
28
+ faraday-patron (~> 1.0)
29
+ faraday-rack (~> 1.0)
18
30
  multipart-post (>= 1.2, < 3)
19
- ruby2_keywords
31
+ ruby2_keywords (>= 0.0.4)
32
+ faraday-em_http (1.0.0)
33
+ faraday-em_synchrony (1.0.0)
34
+ faraday-excon (1.1.0)
35
+ faraday-httpclient (1.0.1)
36
+ faraday-net_http (1.0.1)
37
+ faraday-net_http_persistent (1.2.0)
38
+ faraday-patron (1.0.0)
39
+ faraday-rack (1.0.0)
40
+ hashdiff (1.0.1)
20
41
  method_source (1.0.0)
21
42
  multipart-post (2.1.1)
22
- parallel (1.20.0)
23
- parser (2.7.2.0)
43
+ parallel (1.21.0)
44
+ parser (3.0.2.0)
24
45
  ast (~> 2.4.1)
25
- pry (0.13.1)
46
+ pry (0.14.1)
26
47
  coderay (~> 1.1)
27
48
  method_source (~> 1.0)
49
+ public_suffix (4.0.6)
28
50
  rainbow (3.0.0)
29
- rake (13.0.1)
30
- regexp_parser (1.8.2)
31
- rexml (3.2.4)
51
+ rake (13.0.6)
52
+ regexp_parser (2.1.1)
53
+ rexml (3.2.5)
32
54
  rspec (3.10.0)
33
55
  rspec-core (~> 3.10.0)
34
56
  rspec-expectations (~> 3.10.0)
35
57
  rspec-mocks (~> 3.10.0)
36
- rspec-core (3.10.0)
58
+ rspec-core (3.10.1)
37
59
  rspec-support (~> 3.10.0)
38
- rspec-expectations (3.10.0)
60
+ rspec-expectations (3.10.1)
39
61
  diff-lcs (>= 1.2.0, < 2.0)
40
62
  rspec-support (~> 3.10.0)
41
- rspec-mocks (3.10.0)
63
+ rspec-mocks (3.10.2)
42
64
  diff-lcs (>= 1.2.0, < 2.0)
43
65
  rspec-support (~> 3.10.0)
44
- rspec-support (3.10.0)
45
- rubocop (1.2.0)
66
+ rspec-support (3.10.2)
67
+ rubocop (1.22.0)
46
68
  parallel (~> 1.10)
47
- parser (>= 2.7.1.5)
69
+ parser (>= 3.0.0.0)
48
70
  rainbow (>= 2.2.2, < 4.0)
49
- regexp_parser (>= 1.8)
71
+ regexp_parser (>= 1.8, < 3.0)
50
72
  rexml
51
- rubocop-ast (>= 1.0.1)
73
+ rubocop-ast (>= 1.12.0, < 2.0)
52
74
  ruby-progressbar (~> 1.7)
53
- unicode-display_width (>= 1.4.0, < 2.0)
54
- rubocop-ast (1.1.1)
55
- parser (>= 2.7.1.5)
56
- rubocop-performance (1.8.1)
57
- rubocop (>= 0.87.0)
58
- rubocop-ast (>= 0.4.0)
59
- rubocop-rspec (2.0.0)
75
+ unicode-display_width (>= 1.4.0, < 3.0)
76
+ rubocop-ast (1.12.0)
77
+ parser (>= 3.0.1.1)
78
+ rubocop-rake (0.6.0)
60
79
  rubocop (~> 1.0)
61
- rubocop-ast (>= 1.1.0)
62
- ruby-progressbar (1.10.1)
63
- ruby2_keywords (0.0.2)
64
- thor (1.0.1)
65
- unicode-display_width (1.7.0)
80
+ rubocop-rspec (2.5.0)
81
+ rubocop (~> 1.19)
82
+ ruby-progressbar (1.11.0)
83
+ ruby2_keywords (0.0.5)
84
+ thor (1.1.0)
85
+ unicode-display_width (2.1.0)
86
+ webmock (3.14.0)
87
+ addressable (>= 2.8.0)
88
+ crack (>= 0.3.2)
89
+ hashdiff (>= 0.4.0, < 2.0.0)
66
90
 
67
91
  PLATFORMS
68
- ruby
92
+ x86_64-darwin-20
93
+ x86_64-linux
69
94
 
70
95
  DEPENDENCIES
71
96
  awesome_print
@@ -74,9 +99,10 @@ DEPENDENCIES
74
99
  rake
75
100
  rspec
76
101
  rubocop
77
- rubocop-performance
102
+ rubocop-rake
78
103
  rubocop-rspec
79
104
  vidar!
105
+ webmock
80
106
 
81
107
  BUNDLED WITH
82
- 2.1.4
108
+ 2.2.28
data/README.md CHANGED
@@ -90,7 +90,7 @@ deployments:
90
90
  slack_webhook_url: https://hooks.slack.com/services/ASCKNZ0vug2R3Ydo/ASCKNZ0vug2R3Ydo/ASCKNZ0vug2R3Ydo
91
91
  # docker-compose file, optional, default value: docker-compose.ci.yml
92
92
  compose_file: docker-compose.ci.yml
93
- # default_branch, optional, default value: master
93
+ # default_branch, optional, default value: main or master (auto-detected from local branches)
94
94
  default_branch: dev
95
95
  # console_command, optional, default value: bin/console
96
96
  console_command: rake console
data/Rakefile CHANGED
@@ -5,4 +5,5 @@ require 'rubocop/rake_task'
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
  RuboCop::RakeTask.new
7
7
 
8
+ task ci: %i[spec rubocop]
8
9
  task default: %i[spec rubocop:auto_correct]
data/lib/vidar/cli.rb CHANGED
@@ -158,7 +158,7 @@ module Vidar
158
158
  else
159
159
  Log.info "Available containers:"
160
160
  containers.each(&:print)
161
- container = containers.first
161
+ container = containers.detect { |c| c.name == 'console' } || containers.last
162
162
 
163
163
  Log.info "Running #{options[:command]} in #{container.pod_name}"
164
164
  Run.kubectl("exec -it #{container.pod_name} -- #{options[:command]}")
data/lib/vidar/config.rb CHANGED
@@ -1,10 +1,11 @@
1
1
  module Vidar
2
2
  class Config
3
3
  DEFAULT_MANIFEST_FILE = "vidar.yml".freeze
4
+ DEFAULT_BRANCHES = %w[main master].freeze
4
5
 
5
6
  DEFAULT_OPTIONS = {
6
7
  compose_file: -> { "docker-compose.ci.yml" },
7
- default_branch: -> { "master" },
8
+ default_branch: -> { (DEFAULT_BRANCHES & branches).first || DEFAULT_BRANCHES.first },
8
9
  current_branch: -> { `git rev-parse --abbrev-ref HEAD`.strip.tr("/", "-") },
9
10
  revision: -> { `git rev-parse HEAD`.strip },
10
11
  revision_name: -> { `git show --pretty=format:"%s (%h)" -s HEAD`.strip },
@@ -73,6 +74,10 @@ module Vidar
73
74
  DeployConfig.new(deployment)
74
75
  end
75
76
 
77
+ def branches
78
+ `git for-each-ref --format='%(refname:short)' refs/heads/*`.split("\n")
79
+ end
80
+
76
81
  def default_branch?
77
82
  get!(:current_branch) == get!(:default_branch)
78
83
  end
@@ -10,7 +10,7 @@ module Vidar
10
10
 
11
11
  def initialize(options)
12
12
  @name = options.fetch(:name)
13
- @url = options.fetch(:url)
13
+ @url = options.fetch(:url, nil)
14
14
 
15
15
  @default_color = options.fetch(:default_color, DEFAULT_COLOR)
16
16
  @success_color = options.fetch(:success_color, SUCCESS_COLOR)
@@ -1,6 +1,6 @@
1
1
  module Vidar
2
2
  class Interpolation
3
- INTERPOLATION_PATTERN = /\{\{(\w+)\}\}/.freeze
3
+ INTERPOLATION_PATTERN = /\{\{(\w+)\}\}/
4
4
 
5
5
  class << self
6
6
  def call(string, getter)
@@ -24,7 +24,7 @@ module Vidar
24
24
 
25
25
  def data
26
26
  {
27
- "version": revision
27
+ version: revision
28
28
  }
29
29
  end
30
30
  end
@@ -1,6 +1,6 @@
1
1
  module Vidar
2
2
  class SlackNotification
3
- def initialize(github:, revision:, revision_name:, deploy_config:, build_url: nil)
3
+ def initialize(github:, revision:, revision_name:, deploy_config:, build_url: nil, connection: Faraday.new)
4
4
  @github = github
5
5
  @revision = revision
6
6
  @revision_name = revision_name
@@ -11,7 +11,7 @@ module Vidar
11
11
  @success_color = deploy_config.success_color
12
12
  @failure_color = deploy_config.failure_color
13
13
  @webhook_url = deploy_config.slack_webhook_url
14
- @connection = Faraday.new
14
+ @connection = connection
15
15
  end
16
16
 
17
17
  def configured?
@@ -57,13 +57,13 @@ module Vidar
57
57
  def data(message:, color:)
58
58
  text = [message].flatten.compact.join("\n")
59
59
  {
60
- "attachments": [
60
+ attachments: [
61
61
  {
62
- "title": github,
63
- "title_link": github_url,
64
- "color": color,
65
- "text": text,
66
- "fallback": text,
62
+ title: github,
63
+ title_link: github_url,
64
+ color: color,
65
+ text: text,
66
+ fallback: text,
67
67
  }
68
68
  ]
69
69
  }
@@ -78,6 +78,7 @@ module Vidar
78
78
  end
79
79
 
80
80
  def deploy_link
81
+ return deploy_name unless deploy_url
81
82
  "<#{deploy_url}|#{deploy_name}>"
82
83
  end
83
84
 
data/lib/vidar/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vidar
2
- VERSION = '1.3.1'.freeze
2
+ VERSION = '1.4.2'.freeze
3
3
  end
data/vidar.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
14
14
 
15
15
  spec.metadata['homepage_uri'] = 'https://github.com/RenoFi/vidar'
16
16
  spec.metadata['source_code_uri'] = 'https://github.com/RenoFi/vidar'
17
+ spec.metadata['changelog_uri'] = 'https://github.com/RenoFi/vidar/blob/master/CHANGELOG.md'
17
18
 
18
19
  spec.files = Dir.chdir(__dir__) do
19
20
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(bin/|spec/|\.rub)}) }
@@ -34,6 +35,7 @@ Gem::Specification.new do |spec|
34
35
  spec.add_development_dependency 'rake'
35
36
  spec.add_development_dependency 'rspec'
36
37
  spec.add_development_dependency 'rubocop'
37
- spec.add_development_dependency 'rubocop-performance'
38
+ spec.add_development_dependency 'rubocop-rake'
38
39
  spec.add_development_dependency 'rubocop-rspec'
40
+ spec.add_development_dependency 'webmock'
39
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vidar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Knapik
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-11-09 00:00:00.000000000 Z
12
+ date: 2021-10-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
@@ -138,7 +138,7 @@ dependencies:
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
- name: rubocop-performance
141
+ name: rubocop-rake
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - ">="
@@ -165,6 +165,20 @@ dependencies:
165
165
  - - ">="
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: webmock
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
168
182
  description:
169
183
  email:
170
184
  - knapo@knapo.net
@@ -174,6 +188,7 @@ executables:
174
188
  extensions: []
175
189
  extra_rdoc_files: []
176
190
  files:
191
+ - ".bundler-version"
177
192
  - ".dependabot/config.yml"
178
193
  - ".github/ISSUE_TEMPLATE/bug_report.md"
179
194
  - ".github/ISSUE_TEMPLATE/config.yml"
@@ -181,9 +196,10 @@ files:
181
196
  - ".github/PULL_REQUEST_TEMPLATE.md"
182
197
  - ".github/workflows/auto-approve.yml"
183
198
  - ".github/workflows/auto-merge.yml"
199
+ - ".github/workflows/ci.yml"
184
200
  - ".gitignore"
185
201
  - ".rspec"
186
- - ".travis.yml"
202
+ - CHANGELOG.md
187
203
  - Gemfile
188
204
  - Gemfile.lock
189
205
  - LICENSE
@@ -210,6 +226,7 @@ licenses:
210
226
  metadata:
211
227
  homepage_uri: https://github.com/RenoFi/vidar
212
228
  source_code_uri: https://github.com/RenoFi/vidar
229
+ changelog_uri: https://github.com/RenoFi/vidar/blob/master/CHANGELOG.md
213
230
  post_install_message:
214
231
  rdoc_options: []
215
232
  require_paths:
@@ -225,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
242
  - !ruby/object:Gem::Version
226
243
  version: '0'
227
244
  requirements: []
228
- rubygems_version: 3.1.4
245
+ rubygems_version: 3.2.23
229
246
  signing_key:
230
247
  specification_version: 4
231
248
  summary: K8s deployment tools based on thor
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6
7
- - 2.7
8
- before_install: gem install bundler
9
- script:
10
- - bundle exec rake spec
11
- - bundle exec rake rubocop