multi_repo 0.5.1 → 1.0.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 +4 -4
- data/CHANGELOG.md +18 -5
- data/lib/multi_repo/cli.rb +8 -6
- data/lib/multi_repo/helpers/pull_request_blaster_outer.rb +11 -4
- data/lib/multi_repo/version.rb +1 -1
- data/lib/multi_repo.rb +3 -1
- data/multi_repo.gemspec +1 -3
- data/scripts/pull_request_blaster_outer +2 -0
- data/scripts/restart_travis_builds +1 -0
- data/scripts/show_travis_status +1 -0
- metadata +8 -34
- data/lib/multi_repo/service/travis.rb +0 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a65fcbfd465cabf43b5382db582a7516ad14d37ddaccb9dde5de7522879bf28a
|
4
|
+
data.tar.gz: eebc43a34102d63149ec5ca32369576814ec9182b402c0e823178b7b4f4c90ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51f252cfde3038b0cc51c8c254b45e9153d3e09ad535493b1a978e1dc7a3408d26aabbadf4f81fead3e7c93d2f9995c59f6d4eacd700736081a134e98e70ebdb
|
7
|
+
data.tar.gz: 1bdcbab162f091ea83e96db96a81252e866f8aa87a50b9f96ec64239d54b8f9805c676d8c02544ba0f3f031ae11d472d03bf831c00fc8628b16a8292ea2439c3
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,17 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
5
5
|
## [Unreleased]
|
6
6
|
|
7
|
+
## [1.0.0] - 2025-04-24
|
8
|
+
### Added
|
9
|
+
- Allow blank overrides on the command line [[#46](https://github.com/ManageIQ/multi_repo/pull/46)]
|
10
|
+
|
11
|
+
### Removed
|
12
|
+
- **BREAKING**: Remove travis gem dependency and service helper [[#48](https://github.com/ManageIQ/multi_repo/pull/48)]
|
13
|
+
|
14
|
+
## [0.6.0] - 2025-02-27
|
15
|
+
### Added
|
16
|
+
- [pull_request_blaster_outer] Option to force creation of the pull request without asking [[#40](https://github.com/ManageIQ/multi_repo/pull/40)]
|
17
|
+
|
7
18
|
## [0.5.1] - 2025-02-20
|
8
19
|
### Added
|
9
20
|
- Add debugging of octokit request/response if DEBUG env var set [[#38](https://github.com/ManageIQ/multi_repo/pull/38)]
|
@@ -40,8 +51,10 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
40
51
|
- [show_commit_history] Prevent missing ranges from failing the entire run [[#20](https://github.com/ManageIQ/multi_repo/pull/20)]
|
41
52
|
- [pull_request_merger] Fixing issue passing kwargs on Ruby 3 [[#23](https://github.com/ManageIQ/multi_repo/pull/23)]
|
42
53
|
|
43
|
-
[Unreleased]: https://github.com/ManageIQ/
|
44
|
-
[0.
|
45
|
-
[0.
|
46
|
-
[0.
|
47
|
-
[0.
|
54
|
+
[Unreleased]: https://github.com/ManageIQ/multi_repo/compare/v1.0.0...HEAD
|
55
|
+
[1.0.0]: https://github.com/ManageIQ/multi_repo/compare/v0.6.0...v1.0.0
|
56
|
+
[0.6.0]: https://github.com/ManageIQ/multi_repo/compare/v0.5.1...v0.6.0
|
57
|
+
[0.5.1]: https://github.com/ManageIQ/multi_repo/compare/v0.5.0...v0.5.1
|
58
|
+
[0.5.0]: https://github.com/ManageIQ/multi_repo/compare/v0.4.0...v0.5.0
|
59
|
+
[0.4.0]: https://github.com/ManageIQ/multi_repo/compare/v0.3.1...v0.4.0
|
60
|
+
[0.3.1]: https://github.com/ManageIQ/multi_repo/compare/v0.3.0...v0.3.1
|
data/lib/multi_repo/cli.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "multi_repo"
|
2
2
|
require "optimist"
|
3
3
|
require "colorize"
|
4
|
+
require "more_core_extensions/core_ext/array/deletes"
|
4
5
|
|
5
6
|
module MultiRepo
|
6
7
|
module CLI
|
@@ -15,14 +16,15 @@ module MultiRepo
|
|
15
16
|
end
|
16
17
|
|
17
18
|
def self.repos_for(repo: nil, repo_set: nil, dry_run: false, **_)
|
18
|
-
|
19
|
+
repo = Array(repo).delete_blanks
|
20
|
+
Optimist.die("options --repo or --repo_set must be specified") if repo.blank? && repo_set.blank?
|
19
21
|
|
20
|
-
if repo_set
|
22
|
+
if repo_set.present?
|
21
23
|
repos = MultiRepo::RepoSet[repo_set]&.deep_dup
|
22
24
|
Optimist.die(:repo_set, "#{repo_set.inspect} was not found in the config") if repos.nil?
|
23
25
|
|
24
|
-
if repo
|
25
|
-
repo_names = Set.new(
|
26
|
+
if repo.any?
|
27
|
+
repo_names = Set.new(repo)
|
26
28
|
repos.select! { |r| repo_names.include?(r.name) }
|
27
29
|
end
|
28
30
|
|
@@ -30,7 +32,7 @@ module MultiRepo
|
|
30
32
|
|
31
33
|
repos
|
32
34
|
else
|
33
|
-
|
35
|
+
repo.map { |n| MultiRepo::Repo.new(n, dry_run: dry_run) }
|
34
36
|
end
|
35
37
|
end
|
36
38
|
|
@@ -53,7 +55,7 @@ module MultiRepo
|
|
53
55
|
msg = "Individual repo(s) to work with"
|
54
56
|
if subset.include?(:repo_set)
|
55
57
|
sub_opts = {}
|
56
|
-
msg << "
|
58
|
+
msg << " from the --repo-set"
|
57
59
|
else
|
58
60
|
sub_opts = {:required => true}
|
59
61
|
end
|
@@ -2,9 +2,9 @@ require 'pathname'
|
|
2
2
|
|
3
3
|
module MultiRepo::Helpers
|
4
4
|
class PullRequestBlasterOuter
|
5
|
-
attr_reader :repo, :base, :head, :script, :dry_run, :message, :title
|
5
|
+
attr_reader :repo, :base, :head, :script, :dry_run, :message, :title, :force
|
6
6
|
|
7
|
-
def initialize(repo, base:, head:, script:, dry_run:, message:, title: nil, **)
|
7
|
+
def initialize(repo, base:, head:, script:, dry_run:, message:, title: nil, force: false, **)
|
8
8
|
@repo = repo
|
9
9
|
@base = base
|
10
10
|
@head = head
|
@@ -16,6 +16,7 @@ module MultiRepo::Helpers
|
|
16
16
|
@dry_run = dry_run
|
17
17
|
@message = message
|
18
18
|
@title = (title || message)[0, 72]
|
19
|
+
@force = force
|
19
20
|
end
|
20
21
|
|
21
22
|
def blast
|
@@ -43,8 +44,14 @@ module MultiRepo::Helpers
|
|
43
44
|
puts "** dry-run: Skipping opening pull request".light_black
|
44
45
|
result = "dry run".light_black
|
45
46
|
else
|
46
|
-
|
47
|
-
|
47
|
+
answer =
|
48
|
+
if force
|
49
|
+
"Y"
|
50
|
+
else
|
51
|
+
print "Do you want to open a pull request on #{repo.name} with the above changes? (y/N): "
|
52
|
+
$stdin.gets.chomp
|
53
|
+
end
|
54
|
+
|
48
55
|
if answer.upcase.start_with?("Y")
|
49
56
|
fork_repo unless forked?
|
50
57
|
push_branch
|
data/lib/multi_repo/version.rb
CHANGED
data/lib/multi_repo.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'pathname'
|
2
2
|
require 'pp'
|
3
3
|
|
4
|
+
require 'logger'
|
5
|
+
require 'active_support'
|
6
|
+
|
4
7
|
require 'multi_repo/version'
|
5
8
|
|
6
9
|
require 'multi_repo/labels'
|
@@ -13,7 +16,6 @@ require 'multi_repo/service/docker'
|
|
13
16
|
require 'multi_repo/service/git'
|
14
17
|
require 'multi_repo/service/github'
|
15
18
|
require 'multi_repo/service/rubygems_stub'
|
16
|
-
require 'multi_repo/service/travis'
|
17
19
|
|
18
20
|
require 'multi_repo/helpers/git_mirror'
|
19
21
|
require 'multi_repo/helpers/license'
|
data/multi_repo.gemspec
CHANGED
@@ -25,7 +25,6 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_runtime_dependency "activesupport"
|
26
26
|
spec.add_runtime_dependency "colorize"
|
27
27
|
spec.add_runtime_dependency "config"
|
28
|
-
spec.add_runtime_dependency "json", "~> 2.9.1" # Pin json due to https://github.com/ruby/json/issues/752
|
29
28
|
spec.add_runtime_dependency "licensee"
|
30
29
|
spec.add_runtime_dependency "minigit"
|
31
30
|
spec.add_runtime_dependency "more_core_extensions"
|
@@ -35,10 +34,9 @@ Gem::Specification.new do |spec|
|
|
35
34
|
spec.add_runtime_dependency "psych", ">=3"
|
36
35
|
spec.add_runtime_dependency "rbnacl"
|
37
36
|
spec.add_runtime_dependency "rest-client"
|
38
|
-
spec.add_runtime_dependency "travis"
|
39
37
|
|
40
38
|
spec.add_development_dependency "bundler"
|
41
|
-
spec.add_development_dependency "manageiq-style"
|
39
|
+
spec.add_development_dependency "manageiq-style", ">= 1.5.4"
|
42
40
|
spec.add_development_dependency "rake"
|
43
41
|
spec.add_development_dependency "rspec", ">= 3.0"
|
44
42
|
spec.add_development_dependency "simplecov", ">= 0.21.2"
|
@@ -17,6 +17,8 @@ opts = Optimist.options do
|
|
17
17
|
opt :message, "The commit message for this change.", :type => :string, :required => true
|
18
18
|
opt :title, "The PR title for this change. (default is --message)", :type => :string
|
19
19
|
|
20
|
+
opt :force, "Force creation of the pull request without asking.", :default => false
|
21
|
+
|
20
22
|
MultiRepo::CLI.common_options(self)
|
21
23
|
end
|
22
24
|
|
data/scripts/show_travis_status
CHANGED
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multi_repo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Authors
|
8
|
+
autorequire:
|
8
9
|
bindir: exe
|
9
10
|
cert_chain: []
|
10
|
-
date: 2025-
|
11
|
+
date: 2025-04-24 00:00:00.000000000 Z
|
11
12
|
dependencies:
|
12
13
|
- !ruby/object:Gem::Dependency
|
13
14
|
name: activesupport
|
@@ -51,20 +52,6 @@ dependencies:
|
|
51
52
|
- - ">="
|
52
53
|
- !ruby/object:Gem::Version
|
53
54
|
version: '0'
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: json
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 2.9.1
|
61
|
-
type: :runtime
|
62
|
-
prerelease: false
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: 2.9.1
|
68
55
|
- !ruby/object:Gem::Dependency
|
69
56
|
name: licensee
|
70
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,20 +178,6 @@ dependencies:
|
|
191
178
|
- - ">="
|
192
179
|
- !ruby/object:Gem::Version
|
193
180
|
version: '0'
|
194
|
-
- !ruby/object:Gem::Dependency
|
195
|
-
name: travis
|
196
|
-
requirement: !ruby/object:Gem::Requirement
|
197
|
-
requirements:
|
198
|
-
- - ">="
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: '0'
|
201
|
-
type: :runtime
|
202
|
-
prerelease: false
|
203
|
-
version_requirements: !ruby/object:Gem::Requirement
|
204
|
-
requirements:
|
205
|
-
- - ">="
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: '0'
|
208
181
|
- !ruby/object:Gem::Dependency
|
209
182
|
name: bundler
|
210
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -225,14 +198,14 @@ dependencies:
|
|
225
198
|
requirements:
|
226
199
|
- - ">="
|
227
200
|
- !ruby/object:Gem::Version
|
228
|
-
version:
|
201
|
+
version: 1.5.4
|
229
202
|
type: :development
|
230
203
|
prerelease: false
|
231
204
|
version_requirements: !ruby/object:Gem::Requirement
|
232
205
|
requirements:
|
233
206
|
- - ">="
|
234
207
|
- !ruby/object:Gem::Version
|
235
|
-
version:
|
208
|
+
version: 1.5.4
|
236
209
|
- !ruby/object:Gem::Dependency
|
237
210
|
name: rake
|
238
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -320,7 +293,6 @@ files:
|
|
320
293
|
- lib/multi_repo/service/git/minigit_capturing_patch.rb
|
321
294
|
- lib/multi_repo/service/github.rb
|
322
295
|
- lib/multi_repo/service/rubygems_stub.rb
|
323
|
-
- lib/multi_repo/service/travis.rb
|
324
296
|
- lib/multi_repo/version.rb
|
325
297
|
- multi_repo.gemspec
|
326
298
|
- renovate.json
|
@@ -358,6 +330,7 @@ homepage: http://github.com/ManageIQ/multi_repo
|
|
358
330
|
licenses:
|
359
331
|
- MIT
|
360
332
|
metadata: {}
|
333
|
+
post_install_message:
|
361
334
|
rdoc_options: []
|
362
335
|
require_paths:
|
363
336
|
- lib
|
@@ -372,7 +345,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
372
345
|
- !ruby/object:Gem::Version
|
373
346
|
version: '0'
|
374
347
|
requirements: []
|
375
|
-
rubygems_version: 3.
|
348
|
+
rubygems_version: 3.5.22
|
349
|
+
signing_key:
|
376
350
|
specification_version: 4
|
377
351
|
summary: MultiRepo is a library for managing multiple repositiories and running scripts
|
378
352
|
against them.
|
@@ -1,68 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
module MultiRepo::Service
|
4
|
-
class Travis
|
5
|
-
def self.api_token
|
6
|
-
@api_token ||= ENV["TRAVIS_API_TOKEN"]
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.api_token=(token)
|
10
|
-
@api_token = token
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.client
|
14
|
-
@client ||= begin
|
15
|
-
raise "Missing Travis API Token" if travis_api_token.nil?
|
16
|
-
|
17
|
-
require 'travis/client'
|
18
|
-
::Travis::Client.new(
|
19
|
-
:uri => ::Travis::Client::COM_URI,
|
20
|
-
:access_token => api_token
|
21
|
-
)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def self.badge_name
|
26
|
-
"Build Status"
|
27
|
-
end
|
28
|
-
|
29
|
-
def self.badge_details(repo, branch)
|
30
|
-
{
|
31
|
-
"description" => badge_name,
|
32
|
-
"image" => "https://travis-ci.com/#{repo.name}.svg?branch=#{branch}",
|
33
|
-
"url" => "https://travis-ci.com/#{repo.name}"
|
34
|
-
}
|
35
|
-
end
|
36
|
-
|
37
|
-
attr_reader :repo, :dry_run
|
38
|
-
|
39
|
-
def initialize(repo, dry_run: false, **_)
|
40
|
-
@repo = repo
|
41
|
-
@dry_run = dry_run
|
42
|
-
end
|
43
|
-
|
44
|
-
def badge_details
|
45
|
-
self.class.badge_details(repo, "master")
|
46
|
-
end
|
47
|
-
|
48
|
-
def enable
|
49
|
-
if dry_run
|
50
|
-
puts "** dry-run: travis login --com --github-token $GITHUB_API_TOKEN".light_black
|
51
|
-
puts "** dry-run: travis enable --com".light_black
|
52
|
-
else
|
53
|
-
`travis login --com --github-token $GITHUB_API_TOKEN`
|
54
|
-
`travis enable --com`
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def set_env(hash)
|
59
|
-
hash.each do |key, value|
|
60
|
-
if dry_run
|
61
|
-
puts "** dry-run: travis env set #{key} #{value}".light_black
|
62
|
-
else
|
63
|
-
`travis env set #{key} #{value}`
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|