multi_repo 0.6.0 → 1.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: 1005b52e2327efcb525b5af5351ae70667393a8660fb00526017866b3800279f
4
- data.tar.gz: 601ffda846034e6c341c955da8d5e7c8477335a50a47702bc1d43a9334ff538e
3
+ metadata.gz: 0211dacdb0aaeb7df692cbe637a7ab350e9a5ba8e3408f060caf864bc49f1355
4
+ data.tar.gz: 33224827cd2be7b34b7892c7eda346e91767c5581f42ef29346d969c201f4aef
5
5
  SHA512:
6
- metadata.gz: 326bf128ad550baa31c39d25335567da18b89bffb7c677d9df087a7aaf70246d90414f2cf82bacccef7bdda4d65dcd8cae515a9bc9e4670c8b95b7b362fbf8b8
7
- data.tar.gz: 982b95bcc4d815d95aba56b809e0f802020fee99a9ebfe501e17e0fcaad75dce5e8d0d68ad7692b2c173a2a78dad471f6c6fc277da06b02a3c8159d491949b3a
6
+ metadata.gz: c4a3f5db6fa142b395c5a063510656db34d5f4ae8d0667db83bb0e5cf17b6f63d4fd453b16d5601a484fa3d57f3dfead3b6633ca48715fe9cc0d1c9632c975ca
7
+ data.tar.gz: 646793b26e6a1e952e2f36fa0b88b81dad83b7bd582dbe447847e7327e8f344cc70c3dd463b0d90a3e55153a92c2a0e4e46d188a359ed932f05be926ef30ea62
@@ -19,7 +19,7 @@ jobs:
19
19
  env:
20
20
  CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
21
21
  steps:
22
- - uses: actions/checkout@v4
22
+ - uses: actions/checkout@v5
23
23
  - name: Set up Ruby
24
24
  uses: ruby/setup-ruby@v1
25
25
  with:
data/CHANGELOG.md CHANGED
@@ -4,6 +4,22 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.1.0] - 2025-10-01
8
+ ### Added
9
+ - [show_commit_history] Add pr-changelog display format [[#49](https://github.com/ManageIQ/multi_repo/pull/49)]
10
+ - [pull_request_blaster_outer] Prevent git show paging when using --force [[#53](https://github.com/ManageIQ/multi_repo/pull/53)]
11
+
12
+ ### Changed
13
+ - Update licensee to at least 9.7.0 [[#54](https://github.com/ManageIQ/multi_repo/pull/54)]
14
+ - Separate progress bar options from creation of the progress bar [[#55](https://github.com/ManageIQ/multi_repo/pull/55)]
15
+
16
+ ## [1.0.0] - 2025-04-24
17
+ ### Added
18
+ - Allow blank overrides on the command line [[#46](https://github.com/ManageIQ/multi_repo/pull/46)]
19
+
20
+ ### Removed
21
+ - **BREAKING**: Remove travis gem dependency and service helper [[#48](https://github.com/ManageIQ/multi_repo/pull/48)]
22
+
7
23
  ## [0.6.0] - 2025-02-27
8
24
  ### Added
9
25
  - [pull_request_blaster_outer] Option to force creation of the pull request without asking [[#40](https://github.com/ManageIQ/multi_repo/pull/40)]
@@ -44,8 +60,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
44
60
  - [show_commit_history] Prevent missing ranges from failing the entire run [[#20](https://github.com/ManageIQ/multi_repo/pull/20)]
45
61
  - [pull_request_merger] Fixing issue passing kwargs on Ruby 3 [[#23](https://github.com/ManageIQ/multi_repo/pull/23)]
46
62
 
47
- [Unreleased]: https://github.com/ManageIQ/more_core_extensions/compare/v0.5.1...HEAD
48
- [0.5.1]: https://github.com/ManageIQ/more_core_extensions/compare/v0.5.0...v0.5.1
49
- [0.5.0]: https://github.com/ManageIQ/more_core_extensions/compare/v0.4.0...v0.5.0
50
- [0.4.0]: https://github.com/ManageIQ/more_core_extensions/compare/v0.3.1...v0.4.0
51
- [0.3.1]: https://github.com/ManageIQ/more_core_extensions/compare/v0.3.0...v0.3.1
63
+ [Unreleased]: https://github.com/ManageIQ/multi_repo/compare/v1.1.0...HEAD
64
+ [1.1.0]: https://github.com/ManageIQ/multi_repo/compare/v1.0.0...v1.1.0
65
+ [1.0.0]: https://github.com/ManageIQ/multi_repo/compare/v0.6.0...v1.0.0
66
+ [0.6.0]: https://github.com/ManageIQ/multi_repo/compare/v0.5.1...v0.6.0
67
+ [0.5.1]: https://github.com/ManageIQ/multi_repo/compare/v0.5.0...v0.5.1
68
+ [0.5.0]: https://github.com/ManageIQ/multi_repo/compare/v0.4.0...v0.5.0
69
+ [0.4.0]: https://github.com/ManageIQ/multi_repo/compare/v0.3.1...v0.4.0
70
+ [0.3.1]: https://github.com/ManageIQ/multi_repo/compare/v0.3.0...v0.3.1
@@ -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
- Optimist.die("options --repo or --repo_set must be specified") unless repo || repo_set
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(Array(repo))
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
- Array(repo).map { |n| MultiRepo::Repo.new(n, dry_run: dry_run) }
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 << "; Overrides --repo-set"
58
+ msg << " from the --repo-set"
57
59
  else
58
60
  sub_opts = {:required => true}
59
61
  end
@@ -82,11 +84,15 @@ module MultiRepo
82
84
 
83
85
  def self.progress_bar(total = 100)
84
86
  require "progressbar"
85
- ProgressBar.create(
87
+ ProgressBar.create(progress_bar_options(total))
88
+ end
89
+
90
+ def self.progress_bar_options(total = 100)
91
+ {
86
92
  :format => "%j%% |%B| %E",
87
93
  :length => HEADER_SIZE,
88
94
  :total => total
89
- )
95
+ }
90
96
  end
91
97
  end
92
98
  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, :force
5
+ attr_reader :repo, :base, :head, :script, :dry_run, :message, :title, :body, :force
6
6
 
7
- def initialize(repo, base:, head:, script:, dry_run:, message:, title: nil, force: false, **)
7
+ def initialize(repo, base:, head:, script:, dry_run:, message:, title: nil, body: 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
+ @body = (body || message).gsub("\\n", "\n")
19
20
  @force = force
20
21
  end
21
22
 
@@ -41,7 +42,12 @@ module MultiRepo::Helpers
41
42
  puts
42
43
 
43
44
  if dry_run
44
- puts "** dry-run: Skipping opening pull request".light_black
45
+ puts "** dry-run: Skipping opening pull request. The pull request would look like:".light_black
46
+ puts
47
+ puts title.light_black
48
+ puts
49
+ puts body.light_black
50
+
45
51
  result = "dry run".light_black
46
52
  else
47
53
  answer =
@@ -112,7 +118,11 @@ module MultiRepo::Helpers
112
118
  end
113
119
 
114
120
  def show_commit
115
- repo.git.client.show
121
+ if force
122
+ repo.git.raw("--no-pager", "show")
123
+ else
124
+ repo.git.client.show
125
+ end
116
126
  end
117
127
 
118
128
  def blast_remote
@@ -134,7 +144,7 @@ module MultiRepo::Helpers
134
144
  end
135
145
 
136
146
  def open_pull_request
137
- pr = github.client.create_pull_request(repo.name, base, pr_head, title, title)
147
+ pr = github.client.create_pull_request(repo.name, base, pr_head, title, body)
138
148
  pr.html_url
139
149
  rescue => err
140
150
  raise unless err.message.include?("A pull request already exists")
@@ -18,18 +18,21 @@ module MultiRepo::Service
18
18
  retry
19
19
  end
20
20
 
21
- def self.clone(clone_source:, path:)
21
+ def self.raw(*args, quiet: false)
22
22
  require "minigit"
23
23
  require "shellwords"
24
24
 
25
- args = ["clone", clone_source, path]
26
25
  command = Shellwords.join(["git", *args])
27
- command << " &>/dev/null" unless ENV["GIT_DEBUG"]
26
+ command << " &>/dev/null" if quiet && !ENV["GIT_DEBUG"]
28
27
  puts "+ #{command}" if ENV["GIT_DEBUG"] # Matches the output of MiniGit
29
28
 
30
29
  raise MiniGit::GitError.new(args, $?) unless system(command)
31
30
  end
32
31
 
32
+ def self.clone(clone_source:, path:)
33
+ raw("clone", clone_source, path, quiet: true)
34
+ end
35
+
33
36
  attr_reader :dry_run, :client
34
37
 
35
38
  def initialize(path:, clone_source:, dry_run: false)
@@ -39,6 +42,10 @@ module MultiRepo::Service
39
42
  @client = self.class.client(path: path, clone_source: clone_source)
40
43
  end
41
44
 
45
+ def raw(*args)
46
+ Dir.chdir(client.git_dir) { self.class.raw(*args) }
47
+ end
48
+
42
49
  def fetch(output: false)
43
50
  client = output ? self.client : self.client.capturing
44
51
 
@@ -1,3 +1,3 @@
1
1
  module MultiRepo
2
- VERSION = "0.6.0".freeze
2
+ VERSION = "1.1.0".freeze
3
3
  end
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,8 +25,7 @@ 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
- spec.add_runtime_dependency "licensee"
28
+ spec.add_runtime_dependency "licensee", ">= 9.7.0"
30
29
  spec.add_runtime_dependency "minigit"
31
30
  spec.add_runtime_dependency "more_core_extensions"
32
31
  spec.add_runtime_dependency "octokit", ">= 7.0.0"
@@ -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"
@@ -16,6 +16,7 @@ opts = Optimist.options do
16
16
  opt :script, "The path to the script that will update the desired files.", :type => :string, :required => true
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
+ opt :body, "The PR body for this change. (default is --message)", :type => :string
19
20
 
20
21
  opt :force, "Force creation of the pull request without asking.", :default => false
21
22
 
@@ -4,6 +4,7 @@ require "bundler/inline"
4
4
  gemfile do
5
5
  source "https://rubygems.org"
6
6
  gem "multi_repo", require: "multi_repo/cli", path: File.expand_path("..", __dir__)
7
+ gem "travis"
7
8
  end
8
9
  require 'travis'
9
10
  require 'travis/pro/auto_login'
@@ -7,8 +7,9 @@ gemfile do
7
7
  end
8
8
  require "active_support/core_ext/object/blank"
9
9
  require "active_support/core_ext/string/inflections"
10
+ require "more_core_extensions/core_ext/hash/deletes"
10
11
 
11
- DISPLAY_FORMATS = %w[commit pr-title pr-label]
12
+ DISPLAY_FORMATS = %w[commit pr-title pr-label pr-changelog]
12
13
 
13
14
  opts = Optimist.options do
14
15
  synopsis "Show the git commit log between two refs for all git repos."
@@ -33,30 +34,32 @@ repos_with_changes = []
33
34
  MultiRepo::CLI.repos_for(**opts).each do |repo|
34
35
  next if opts[:skip].include?(repo.name)
35
36
 
36
- puts MultiRepo::CLI.header(repo.name)
37
+ puts MultiRepo::CLI.header(repo.name) unless opts[:display] == "pr-changelog"
37
38
  repo.git.fetch(output: false)
38
39
 
39
40
  case opts[:display]
40
- when "pr-label", "pr-title"
41
+ when "pr-label", "pr-title", "pr-changelog"
41
42
  github ||= MultiRepo::Service::Github.client
42
- pr_label_display = opts[:display] == "pr-label"
43
43
 
44
44
  results = {}
45
- if pr_label_display
46
- results["bug"] = []
47
- results["enhancement"] = []
45
+ if %w[pr-label pr-changelog].include?(opts[:display])
46
+ results["bug"] = Set.new
47
+ results["enhancement"] = Set.new
48
48
  end
49
- results["other"] = []
49
+ results["other"] = Set.new
50
50
 
51
51
  log =
52
52
  begin
53
53
  repo.git.client.capturing.log({:oneline => true}, range)
54
54
  rescue MiniGit::GitError
55
- puts "ERROR: commit range not found.".light_red
56
- puts
55
+ unless opts[:display] == "pr-changelog"
56
+ puts "ERROR: commit range not found.".light_red
57
+ puts
58
+ end
57
59
  next
58
60
  end
59
61
 
62
+ pr_index = {}
60
63
  log.lines.each do |line|
61
64
  next unless (match = line.match(/Merge pull request #(\d+)\b/))
62
65
 
@@ -66,23 +69,31 @@ MultiRepo::CLI.repos_for(**opts).each do |repo|
66
69
  rescue Octokit::NotFound
67
70
  next # PR not found could mean this was a cherry-pick from a different repo, so the PR doesn't exist.
68
71
  end
72
+
73
+ pr_index[pr.number] = pr
69
74
  label = pr.labels.detect { |l| results.key?(l.name) }&.name || "other"
70
- results[label] << pr
75
+ results[label] << pr.number
71
76
  end
77
+ results.delete_blanks
72
78
 
73
- changes_found = false
74
-
75
- results.each do |label, prs|
76
- next if prs.blank?
77
- changes_found = true
79
+ if results.present? && opts[:display] == "pr-changelog"
80
+ puts "\n## <i class=\"fa-brands fa-github\"></i> [#{repo.name}](https://github.com/#{repo.name}/compare/#{opts[:from]}...#{opts[:to]})"
81
+ end
78
82
 
79
- puts "\n## #{label.titleize}\n\n" if pr_label_display
80
- prs.each do |pr|
83
+ results.each do |label, pr_numbers|
84
+ case opts[:display]
85
+ when "pr-label"
86
+ puts "\n## #{label.titleize}\n\n"
87
+ when "pr-changelog"
88
+ puts "\n### #{label.titleize}\n\n"
89
+ end
90
+ pr_numbers.each do |pr_number|
91
+ pr = pr_index[pr_number]
81
92
  puts "* #{pr.title} [[##{pr.number}]](#{pr.html_url})"
82
93
  end
83
94
  end
84
95
 
85
- repos_with_changes << repo if changes_found
96
+ repos_with_changes << repo if results.present?
86
97
  when "commit"
87
98
  output =
88
99
  begin
@@ -5,6 +5,7 @@ gemfile do
5
5
  source "https://rubygems.org"
6
6
  gem "multi_repo", require: "multi_repo/cli", path: File.expand_path("..", __dir__)
7
7
  gem "action_view"
8
+ gem "travis"
8
9
  end
9
10
 
10
11
  require 'more_core_extensions/core_ext/array/tableize'
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multi_repo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ManageIQ Authors
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-02-27 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -52,34 +51,20 @@ dependencies:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: json
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 2.9.1
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 2.9.1
69
54
  - !ruby/object:Gem::Dependency
70
55
  name: licensee
71
56
  requirement: !ruby/object:Gem::Requirement
72
57
  requirements:
73
58
  - - ">="
74
59
  - !ruby/object:Gem::Version
75
- version: '0'
60
+ version: 9.7.0
76
61
  type: :runtime
77
62
  prerelease: false
78
63
  version_requirements: !ruby/object:Gem::Requirement
79
64
  requirements:
80
65
  - - ">="
81
66
  - !ruby/object:Gem::Version
82
- version: '0'
67
+ version: 9.7.0
83
68
  - !ruby/object:Gem::Dependency
84
69
  name: minigit
85
70
  requirement: !ruby/object:Gem::Requirement
@@ -192,20 +177,6 @@ dependencies:
192
177
  - - ">="
193
178
  - !ruby/object:Gem::Version
194
179
  version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: travis
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :runtime
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
180
  - !ruby/object:Gem::Dependency
210
181
  name: bundler
211
182
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +197,14 @@ dependencies:
226
197
  requirements:
227
198
  - - ">="
228
199
  - !ruby/object:Gem::Version
229
- version: '0'
200
+ version: 1.5.4
230
201
  type: :development
231
202
  prerelease: false
232
203
  version_requirements: !ruby/object:Gem::Requirement
233
204
  requirements:
234
205
  - - ">="
235
206
  - !ruby/object:Gem::Version
236
- version: '0'
207
+ version: 1.5.4
237
208
  - !ruby/object:Gem::Dependency
238
209
  name: rake
239
210
  requirement: !ruby/object:Gem::Requirement
@@ -321,7 +292,6 @@ files:
321
292
  - lib/multi_repo/service/git/minigit_capturing_patch.rb
322
293
  - lib/multi_repo/service/github.rb
323
294
  - lib/multi_repo/service/rubygems_stub.rb
324
- - lib/multi_repo/service/travis.rb
325
295
  - lib/multi_repo/version.rb
326
296
  - multi_repo.gemspec
327
297
  - renovate.json
@@ -359,7 +329,6 @@ homepage: http://github.com/ManageIQ/multi_repo
359
329
  licenses:
360
330
  - MIT
361
331
  metadata: {}
362
- post_install_message:
363
332
  rdoc_options: []
364
333
  require_paths:
365
334
  - lib
@@ -374,8 +343,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
374
343
  - !ruby/object:Gem::Version
375
344
  version: '0'
376
345
  requirements: []
377
- rubygems_version: 3.5.22
378
- signing_key:
346
+ rubygems_version: 3.7.1
379
347
  specification_version: 4
380
348
  summary: MultiRepo is a library for managing multiple repositiories and running scripts
381
349
  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