groundskeeper-bitcore 0.19.0 → 0.23.0

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: e7dcfaed6f571874111c1ad58ae2bbbd584ae2d55f65310ac6440b77488f066b
4
- data.tar.gz: 48117df263a168b70c69923bed84fd3253528c799c3115f4ef951c5822ded61a
3
+ metadata.gz: 19eb74448b9f6577cfa1acd88557d0bed18e2d7df2c5d2d1da927ea37f0a4489
4
+ data.tar.gz: f5369d34ac67395554e718f7099ce5c422589dd0b5e51378b3dc0931dcccae37
5
5
  SHA512:
6
- metadata.gz: aca1a48ad5c22b23d123d39a4d24c840100d9e31ea16c0694cae3cf983261526fae1157e9bcb198cd52c092466f8360e6d12337f2201d08356366a0055bbcf21
7
- data.tar.gz: b2cd407005039a60bf1b034c94f85f3b53dcd624d44a47ad5682634339a2b6dace1432091bdae3a6fd9c94586bb9af624a0628f904c90d66f54974fb97616c04
6
+ metadata.gz: 9882832af630e4d5b53ada93e59778fe3be20256f9104010b42c7123cc6ca3791cc8fbe0608553b49e51f19a20da66161cef2df314413720f4feba8456dc8beb
7
+ data.tar.gz: 79b51a0e962a8de4fef32cfcd623c88b23783207ddc7dcc719df09d1c9257cefe55a771fa1b3c2474adafcb57d1f2d4c62844937cadbbcf28dbec20654ec1ea9
data/.rubocop.yml CHANGED
@@ -7,7 +7,7 @@ inherit_mode:
7
7
  AllCops:
8
8
  Exclude:
9
9
  - bin/**/*
10
- TargetRubyVersion: 2.4
10
+ TargetRubyVersion: 3.0
11
11
 
12
12
  Metrics/AbcSize:
13
13
  Exclude:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.1
1
+ 3.0.0
@@ -1,4 +1,7 @@
1
- image: 'isgmhradd/rails-ruby27:2020-04-01'
1
+ image: 'isgmhradd/rails-ruby30:2021-01-22'
2
+
3
+ clone:
4
+ depth: 1
2
5
 
3
6
  pipelines:
4
7
  default:
data/config/deploy.rb CHANGED
@@ -5,9 +5,9 @@ require "mina/git"
5
5
  require "mina/rvm" # for rvm support. (https://rvm.io)
6
6
  require "mina/whenever"
7
7
 
8
- require_relative "./git_config.rb"
9
- require_relative "./predeploy.rb"
10
- require_relative "./tasks.rb"
8
+ require_relative "./git_config"
9
+ require_relative "./predeploy"
10
+ require_relative "./tasks"
11
11
 
12
12
  def load_project
13
13
  invoke :before_run unless fetch(:project)
@@ -37,7 +37,7 @@ set :shared_files, fetch(:shared_files, []).push(
37
37
 
38
38
  # Each deploy, these directories will be checked for changes. If changes are
39
39
  # detected, assets will be precompiled. Otherwise that step will be skipped.
40
- set :asset_dirs, ["app/javascript/"]
40
+ set :asset_dirs, ["app/javascript/", "app/packs/"]
41
41
 
42
42
  # This task is the environment that is loaded for all remote run commands, such
43
43
  # as `mina deploy` or `mina rake`.
data/config/git_config.rb CHANGED
@@ -2,7 +2,10 @@
2
2
 
3
3
  require "yaml"
4
4
  require "json"
5
- require "groundskeeper"
5
+ require "groundskeeper/project"
6
+ require "groundskeeper/document"
7
+ require "groundskeeper/git"
8
+ require "groundskeeper/executable"
6
9
 
7
10
  desc "Sets up project details."
8
11
  # rubocop:disable Metrics/BlockLength
data/config/predeploy.rb CHANGED
@@ -4,7 +4,7 @@ PG_CONFIG = "/usr/pgsql-9.3/bin/pg_config"
4
4
 
5
5
  def load_template(name)
6
6
  template_str = File.binread(File.join(File.dirname(__FILE__), name))
7
- template = ERB.new(template_str, nil, "-")
7
+ template = ERB.new(template_str, trim_mode: "-")
8
8
  template.result
9
9
  end
10
10
 
@@ -7,13 +7,12 @@ require "groundskeeper/version"
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = "groundskeeper-bitcore"
9
9
  spec.version = Groundskeeper::VERSION
10
- spec.authors = ["BIT Core"]
11
- spec.email = ["ericcf@northwestern.edu"]
10
+ spec.authors = ["RADD"]
11
+ spec.email = ["radd@northwestern.edu"]
12
12
 
13
13
  spec.summary = "A gem for managing releases and deployments."
14
- spec.homepage = "https://github.com/NU-CBITS/groundskeeper.git"
14
+ spec.homepage = "https://bitbucket.org/isgmh-radd/groundskeeper/src/master/"
15
15
  spec.license = "MIT"
16
- spec.cert_chain = ["certs/ericcf.pem"]
17
16
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the
18
17
  # 'allowed_push_host' to allow pushing to a single host or delete this
19
18
  # section to allow pushing to any host.
@@ -31,16 +30,16 @@ Gem::Specification.new do |spec|
31
30
  spec.executables = "ground"
32
31
  spec.require_paths = %w[lib config]
33
32
 
34
- spec.required_ruby_version = ">= 2.4"
33
+ spec.required_ruby_version = ">= 3.0"
35
34
  spec.add_dependency "jira-ruby", "~> 2.0"
36
35
  spec.add_dependency "mina", "~> 1.2"
37
36
  spec.add_dependency "mina-whenever", "~> 1.0.1"
38
37
  spec.add_dependency "thor", "~> 1.0"
39
38
 
40
39
  spec.add_development_dependency "bundler", "~> 2.0"
41
- spec.add_development_dependency "byebug"
40
+ spec.add_development_dependency "byebug", "~> 11.1"
42
41
  spec.add_development_dependency "minitest", "~> 5.0"
43
- spec.add_development_dependency "rubocop", "~> 0.63"
44
- spec.add_development_dependency "rubocop-performance"
42
+ spec.add_development_dependency "rubocop", "~> 1.23"
43
+ spec.add_development_dependency "rubocop-performance", "~> 1.12"
45
44
  spec.add_development_dependency "simplecov", "~> 0.14"
46
45
  end
@@ -5,6 +5,7 @@ require "thor"
5
5
  module Groundskeeper
6
6
  # Bootstrap this as a Thor application.
7
7
  class Application < Thor
8
+ include Thor::Actions
8
9
  attr_reader :commands
9
10
 
10
11
  class_option :simulate, desc: "Simulate mina"
@@ -7,9 +7,6 @@ module Groundskeeper
7
7
  class Bitbucket
8
8
  # Bitbucket API Error
9
9
  class UnableToCreatePR < StandardError
10
- def initialize(response)
11
- super
12
- end
13
10
  end
14
11
 
15
12
  COMMAND = "curl"
@@ -60,8 +60,7 @@ module Groundskeeper
60
60
 
61
61
  # rubocop:disable Metrics/MethodLength,Metrics/ParameterLists
62
62
  def initialize(
63
- changelog: nil,
64
- console:,
63
+ console:, version_file:, changelog: nil,
65
64
  bitbucket: nil,
66
65
  git: nil,
67
66
  jira: nil,
@@ -71,8 +70,7 @@ module Groundskeeper
71
70
  sentry: nil,
72
71
  slack: nil,
73
72
  ssh: nil,
74
- website: nil,
75
- version_file:
73
+ website: nil
76
74
  )
77
75
  @changelog = changelog
78
76
  @console = console
@@ -95,15 +93,14 @@ module Groundskeeper
95
93
  # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
96
94
  def info(options = {})
97
95
  return unrecognized_version unless version_file.exists?
98
- return unless check_groundskeeper_version
96
+ return groundskeeper_outdated unless check_groundskeeper_version
99
97
 
100
98
  Executable.verbose = options[:verbose]
101
99
  pull_project_details
102
100
 
103
101
  announce_latest_tag
104
102
  console.say(
105
- "version in current branch: " +
106
- version_file.current_version,
103
+ "version in current branch: #{version_file.current_version}",
107
104
  :yellow
108
105
  )
109
106
  console.say(
@@ -119,7 +116,7 @@ module Groundskeeper
119
116
 
120
117
  return missing_jira_credentials unless jira.credentials?
121
118
  return missing_bitbucket_credentials unless bitbucket.credentials?
122
- return unless check_groundskeeper_version
119
+ return groundskeeper_outdated unless check_groundskeeper_version
123
120
  return unrecognized_version unless version_file.rails?
124
121
 
125
122
  version_file.create_initial_version! unless version_file.exists?
@@ -143,7 +140,7 @@ module Groundskeeper
143
140
  # :nocov:
144
141
  def predeploy(options = {})
145
142
  return unrecognized_version unless version_file.exists?
146
- return unless check_groundskeeper_version
143
+ return groundskeeper_outdated unless check_groundskeeper_version
147
144
 
148
145
  Executable.verbose = options[:verbose]
149
146
  pull_project_details
@@ -160,7 +157,7 @@ module Groundskeeper
160
157
  return missing_jira_credentials unless jira.credentials?
161
158
  return missing_sentry_credentials unless sentry.credentials?
162
159
  return missing_slack_credentials unless slack.credentials?
163
- return unless check_groundskeeper_version
160
+ return groundskeeper_outdated unless check_groundskeeper_version
164
161
  return unable_to_ssh unless ssh.can_connect?
165
162
 
166
163
  Executable.verbose = options[:verbose]
@@ -204,7 +201,6 @@ module Groundskeeper
204
201
  end
205
202
  end
206
203
 
207
- # rubocop:disable Metrics/MethodLength
208
204
  def check_groundskeeper_version
209
205
  @check_groundskeeper_version ||= begin
210
206
  console.say("Groundskeeper version #{Groundskeeper::VERSION}\n\n",
@@ -213,24 +209,28 @@ module Groundskeeper
213
209
 
214
210
  return true unless SemanticVersion.new(latest_version) > VERSION
215
211
 
216
- question = <<~TEXT.squish
217
- Groundskeeper is outdated,
218
- would you like the latest version installed?
219
- TEXT
220
-
221
- response = console.ask(question, :red, limited_to: %w[yes no])
222
-
223
- return true if response == "no"
212
+ return false unless install_latest_groundskeeper?
224
213
 
225
214
  console.run("gem install groundskeeper-bitcore")
215
+
216
+ true
226
217
  end
227
218
  end
228
- # rubocop:enable Metrics/MethodLength
219
+
220
+ # :nocov:
221
+ def install_latest_groundskeeper?
222
+ question = <<~TEXT.squish
223
+ Groundskeeper is outdated,
224
+ would you like the latest version installed?
225
+ TEXT
226
+
227
+ console.ask(question, :red, limited_to: %w[yes no]) == "yes"
228
+ end
229
+ # :nocov:
229
230
 
230
231
  def announce_latest_tag
231
232
  console.say(
232
- "latest tag on this repository: " +
233
- git.latest_tag_name_across_branches,
233
+ "latest tag on this repository: #{git.latest_tag_name_across_branches}",
234
234
  :yellow
235
235
  )
236
236
  end
@@ -334,6 +334,10 @@ module Groundskeeper
334
334
  )
335
335
  end
336
336
 
337
+ def groundskeeper_outdated
338
+ console.say("Groundskeeper outdated. Install the latest version.", :red)
339
+ end
340
+
337
341
  def missing_bitbucket_credentials
338
342
  console.say(
339
343
  "Please configure your Bitbucket environment variables.",
@@ -10,7 +10,7 @@ module Groundskeeper
10
10
  VERSION = "--version"
11
11
  TAGS_ASC = "tag -l --sort=v:refname"
12
12
  TAGS_DESC = "tag -l --sort=-v:refname"
13
- LATEST_TAG_COMMIT = "#{COMMAND} rev-list --tags --max-count=1"
13
+ LATEST_TAG_COMMIT = "#{COMMAND} rev-list --tags --max-count=1".freeze
14
14
  LATEST_TAG_NAME =
15
15
  format("describe --tags $(%<commit>s)", commit: LATEST_TAG_COMMIT)
16
16
  LATEST_TAG_BRANCHES =
@@ -21,8 +21,8 @@ module Groundskeeper
21
21
  ADD_ALL = "add ."
22
22
  COMMIT = "commit -m \"%s\""
23
23
  PUSH_HEAD = "push origin head"
24
- PULL = "-C #{Dir.home}/%s pull"
25
- REMOTE_URL = "-C #{Dir.home}/%s config --get remote.origin.url"
24
+ PULL = "-C #{Dir.home}/%s pull".freeze
25
+ REMOTE_URL = "-C #{Dir.home}/%s config --get remote.origin.url".freeze
26
26
  ORIGIN_URL = "config --get remote.origin.url"
27
27
 
28
28
  attr_reader :git
@@ -124,22 +124,18 @@ module Groundskeeper
124
124
  client.create_version(name: name, prefix: prefix)
125
125
  end
126
126
 
127
- # rubocop:disable Metrics/MethodLength
128
127
  def add_version_to_remote_issues(name, issue_ids)
129
128
  failed_issues = []
130
129
  issue_ids.each do |issue_id|
131
- begin
132
- client.add_version_to_issue(issue_id: issue_id, version_name: name)
133
- rescue IssueNotFoundError
134
- failed_issues << issue_id
135
- next
136
- end
130
+ client.add_version_to_issue(issue_id: issue_id, version_name: name)
131
+ rescue IssueNotFoundError
132
+ failed_issues << issue_id
133
+ next
137
134
  end
138
135
  return "" unless failed_issues.count.positive?
139
136
 
140
137
  "Jira issue(s) not found, is #{failed_issues.join(', ')} correct?"
141
138
  end
142
- # rubocop:enable Metrics/MethodLength
143
139
 
144
140
  def transition_remote_issues(transition_type, issue_ids)
145
141
  issue_ids.each do |issue_id|
@@ -5,11 +5,11 @@ module Groundskeeper
5
5
  class RailsVersion
6
6
  APPLICATION_CONFIG_FILE = "%sconfig/application.rb"
7
7
  INITIAL_VERSION = "0.0.0"
8
- MODULE_NAME_EXPRESSION = /module (\w+)/.freeze
8
+ MODULE_NAME_EXPRESSION = /module (\w+)/
9
9
  NAMESPACE_FILE = "%slib/%s.rb"
10
10
  MODULE_DIRECTORY = "%slib/%s"
11
- VERSION_FILE = "#{MODULE_DIRECTORY}/version.rb"
12
- VERSION_EXPRESSION = /(?<=VERSION = ")([^"]+)(?=")/.freeze
11
+ VERSION_FILE = "#{MODULE_DIRECTORY}/version.rb".freeze
12
+ VERSION_EXPRESSION = /(?<=VERSION = ")([^"]+)(?=")/
13
13
 
14
14
  attr_reader :config_file, :namespace_file, :project_name, :relative_path,
15
15
  :version_file
@@ -36,9 +36,8 @@ module Groundskeeper
36
36
 
37
37
  def initialize(
38
38
  relative_path = "",
39
- project_name: "",
39
+ namespace_file:, project_name: "",
40
40
  config_file: nil,
41
- namespace_file:,
42
41
  version_file: nil
43
42
  )
44
43
  @relative_path = relative_path
@@ -8,7 +8,7 @@ module Groundskeeper
8
8
  UP_TO_DATE = "Your branch is up-to-date with 'origin/master'"
9
9
  UNSTAGED_CHANGES = "Changes not staged for commit"
10
10
  # git comment matching
11
- COMMIT_HASH = /^[^ ]+ /.freeze
11
+ COMMIT_HASH = /^[^ ]+ /
12
12
  RELEASE_MESSAGE = "release version %s"
13
13
 
14
14
  attr_reader :git
@@ -10,7 +10,7 @@ module Groundskeeper
10
10
  URL = "https://hooks.slack.com/services/" \
11
11
  "%<workspace>s/%<channel>s/%<token>s"
12
12
  SEND_MESSAGE = "-X POST -H 'Content-type: application/json' " \
13
- "--data '{\"text\":\"%<message>s\"}' #{URL}"
13
+ "--data '{\"text\":\"%<message>s\"}' #{URL}".freeze
14
14
 
15
15
  attr_reader :slack
16
16
 
@@ -6,7 +6,7 @@ module Groundskeeper
6
6
  COMMAND = "ssh"
7
7
  DEFAULT_CONNECT_TIMEOUT_IN_S = 5
8
8
  # ssh arguments
9
- CONNECT_WITH_TIMEOUT = "-o ConnectTimeout=#{DEFAULT_CONNECT_TIMEOUT_IN_S}"
9
+ CONNECT_WITH_TIMEOUT = "-o ConnectTimeout=#{DEFAULT_CONNECT_TIMEOUT_IN_S}".freeze
10
10
  REMOTE_ECHO =
11
11
  "%<options>s %<username>s@%<domain_name>s \"echo 'groundskeeper'\""
12
12
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Groundskeeper
4
- VERSION = "0.19.0"
4
+ VERSION = "0.23.0"
5
5
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groundskeeper-bitcore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
- - BIT Core
8
- autorequire:
7
+ - RADD
8
+ autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - certs/ericcf.pem
12
- date: 2020-10-09 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2021-12-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: jira-ruby
@@ -85,16 +84,16 @@ dependencies:
85
84
  name: byebug
86
85
  requirement: !ruby/object:Gem::Requirement
87
86
  requirements:
88
- - - ">="
87
+ - - "~>"
89
88
  - !ruby/object:Gem::Version
90
- version: '0'
89
+ version: '11.1'
91
90
  type: :development
92
91
  prerelease: false
93
92
  version_requirements: !ruby/object:Gem::Requirement
94
93
  requirements:
95
- - - ">="
94
+ - - "~>"
96
95
  - !ruby/object:Gem::Version
97
- version: '0'
96
+ version: '11.1'
98
97
  - !ruby/object:Gem::Dependency
99
98
  name: minitest
100
99
  requirement: !ruby/object:Gem::Requirement
@@ -115,28 +114,28 @@ dependencies:
115
114
  requirements:
116
115
  - - "~>"
117
116
  - !ruby/object:Gem::Version
118
- version: '0.63'
117
+ version: '1.23'
119
118
  type: :development
120
119
  prerelease: false
121
120
  version_requirements: !ruby/object:Gem::Requirement
122
121
  requirements:
123
122
  - - "~>"
124
123
  - !ruby/object:Gem::Version
125
- version: '0.63'
124
+ version: '1.23'
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: rubocop-performance
128
127
  requirement: !ruby/object:Gem::Requirement
129
128
  requirements:
130
- - - ">="
129
+ - - "~>"
131
130
  - !ruby/object:Gem::Version
132
- version: '0'
131
+ version: '1.12'
133
132
  type: :development
134
133
  prerelease: false
135
134
  version_requirements: !ruby/object:Gem::Requirement
136
135
  requirements:
137
- - - ">="
136
+ - - "~>"
138
137
  - !ruby/object:Gem::Version
139
- version: '0'
138
+ version: '1.12'
140
139
  - !ruby/object:Gem::Dependency
141
140
  name: simplecov
142
141
  requirement: !ruby/object:Gem::Requirement
@@ -151,9 +150,9 @@ dependencies:
151
150
  - - "~>"
152
151
  - !ruby/object:Gem::Version
153
152
  version: '0.14'
154
- description:
153
+ description:
155
154
  email:
156
- - ericcf@northwestern.edu
155
+ - radd@northwestern.edu
157
156
  executables:
158
157
  - ground
159
158
  extensions: []
@@ -203,12 +202,12 @@ files:
203
202
  - lib/groundskeeper/string_utils.rb
204
203
  - lib/groundskeeper/version.rb
205
204
  - lib/groundskeeper/website.rb
206
- homepage: https://github.com/NU-CBITS/groundskeeper.git
205
+ homepage: https://bitbucket.org/isgmh-radd/groundskeeper/src/master/
207
206
  licenses:
208
207
  - MIT
209
208
  metadata:
210
209
  allowed_push_host: https://rubygems.org
211
- post_install_message:
210
+ post_install_message:
212
211
  rdoc_options: []
213
212
  require_paths:
214
213
  - lib
@@ -217,15 +216,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
217
216
  requirements:
218
217
  - - ">="
219
218
  - !ruby/object:Gem::Version
220
- version: '2.4'
219
+ version: '3.0'
221
220
  required_rubygems_version: !ruby/object:Gem::Requirement
222
221
  requirements:
223
222
  - - ">="
224
223
  - !ruby/object:Gem::Version
225
224
  version: '0'
226
225
  requirements: []
227
- rubygems_version: 3.1.2
228
- signing_key:
226
+ rubygems_version: 3.2.3
227
+ signing_key:
229
228
  specification_version: 4
230
229
  summary: A gem for managing releases and deployments.
231
230
  test_files: []