modulesync 2.6.0 → 2.7.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/.github/workflows/ci.yml +2 -4
- data/.github/workflows/release.yml +1 -1
- data/.rubocop.yml +3 -48
- data/.rubocop_todo.yml +124 -19
- data/CHANGELOG.md +13 -0
- data/Gemfile +6 -5
- data/Rakefile +4 -11
- data/lib/modulesync/cli.rb +107 -107
- data/lib/modulesync/git_service/base.rb +2 -2
- data/lib/modulesync/git_service/github.rb +5 -5
- data/lib/modulesync/git_service/gitlab.rb +9 -9
- data/lib/modulesync/renderer.rb +1 -1
- data/lib/modulesync/repository.rb +2 -2
- data/lib/modulesync.rb +21 -21
- data/modulesync.gemspec +5 -9
- data/spec/helpers/faker/puppet_module_remote_repo.rb +4 -4
- data/spec/helpers/faker.rb +1 -0
- data/spec/unit/modulesync/git_service/factory_spec.rb +8 -2
- data/spec/unit/modulesync/git_service/github_spec.rb +23 -25
- data/spec/unit/modulesync/git_service/gitlab_spec.rb +26 -29
- data/spec/unit/modulesync/git_service_spec.rb +48 -47
- data/spec/unit/modulesync/settings_spec.rb +1 -1
- data/spec/unit/modulesync/source_code_spec.rb +5 -7
- metadata +21 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b41363f2082735169f5f59ef530b697635f02fe189a217ce2709a2169774909
|
4
|
+
data.tar.gz: 68d900d78098bc423e3eab0844263c851bc1bf5771c04f1d9173775b36445f96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bf91667d4f67255917c8accd52de69600544d256c1802c67eea94d12ef96b2463e10ed3056045cf2694e54dd788446f8c3432e0a7ea0a6954b8460db31a7864
|
7
|
+
data.tar.gz: d0aa6f428d9db4fa5af7046af60ee76cb310c325b09427833184d3d3f0d6f9179b2fd07c41ac472240f5e93ae211201e137791edfcdba1ef3a38dea32452a3b9
|
data/.github/workflows/ci.yml
CHANGED
@@ -21,7 +21,7 @@ jobs:
|
|
21
21
|
ruby-version: '3.1'
|
22
22
|
bundler-cache: true
|
23
23
|
- name: Run linter
|
24
|
-
run: bundle exec rubocop
|
24
|
+
run: bundle exec rake rubocop
|
25
25
|
test:
|
26
26
|
needs: rubocop
|
27
27
|
runs-on: ubuntu-latest
|
@@ -29,8 +29,6 @@ jobs:
|
|
29
29
|
fail-fast: false
|
30
30
|
matrix:
|
31
31
|
include:
|
32
|
-
- ruby: "2.5"
|
33
|
-
- ruby: "2.6"
|
34
32
|
- ruby: "2.7"
|
35
33
|
- ruby: "3.0"
|
36
34
|
- ruby: "3.1"
|
@@ -50,7 +48,7 @@ jobs:
|
|
50
48
|
- name: Run behavior tests
|
51
49
|
run: bundle exec cucumber
|
52
50
|
- name: Build gem
|
53
|
-
run: gem build *.gemspec
|
51
|
+
run: gem build --verbose *.gemspec
|
54
52
|
tests:
|
55
53
|
needs:
|
56
54
|
- rubocop
|
data/.rubocop.yml
CHANGED
@@ -1,50 +1,5 @@
|
|
1
|
+
---
|
1
2
|
inherit_from: .rubocop_todo.yml
|
2
3
|
|
3
|
-
|
4
|
-
- rubocop
|
5
|
-
- rubocop-rake
|
6
|
-
- rubocop-rspec
|
7
|
-
|
8
|
-
AllCops:
|
9
|
-
TargetRubyVersion: 2.5
|
10
|
-
NewCops: enable
|
11
|
-
Exclude:
|
12
|
-
- 'vendor/**/*'
|
13
|
-
- 'tmp/**/*'
|
14
|
-
- 'pkg/**/*'
|
15
|
-
- 'lib/monkey_patches.rb'
|
16
|
-
- 'spec/**/*'
|
17
|
-
- 'Gemfile'
|
18
|
-
- 'Rakefile'
|
19
|
-
|
20
|
-
Style/FetchEnvVar:
|
21
|
-
Enabled: false
|
22
|
-
|
23
|
-
Style/HashSyntax:
|
24
|
-
Enabled: false
|
25
|
-
|
26
|
-
Style/TrailingCommaInArguments:
|
27
|
-
EnforcedStyleForMultiline: comma
|
28
|
-
|
29
|
-
Style/TrailingCommaInArrayLiteral:
|
30
|
-
EnforcedStyleForMultiline: comma
|
31
|
-
|
32
|
-
Style/TrailingCommaInHashLiteral:
|
33
|
-
EnforcedStyleForMultiline: comma
|
34
|
-
|
35
|
-
# sane line length
|
36
|
-
Layout/LineLength:
|
37
|
-
Max: 120
|
38
|
-
Exclude:
|
39
|
-
- 'features/**/*'
|
40
|
-
|
41
|
-
Style/FrozenStringLiteralComment:
|
42
|
-
Enabled: false
|
43
|
-
|
44
|
-
# We explicitly prefer $stderr.puts over #warn
|
45
|
-
Style/StderrPuts:
|
46
|
-
Enabled: false
|
47
|
-
|
48
|
-
Gemspec/RequireMFA:
|
49
|
-
Exclude:
|
50
|
-
- 'modulesync.gemspec'
|
4
|
+
inherit_gem:
|
5
|
+
voxpupuli-rubocop: rubocop.yml
|
data/.rubocop_todo.yml
CHANGED
@@ -1,37 +1,114 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2023-
|
3
|
+
# on 2023-06-16 18:17:35 UTC using RuboCop version 1.50.2.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
10
|
-
# Configuration parameters:
|
11
|
-
|
12
|
-
|
9
|
+
# Offense count: 1
|
10
|
+
# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
|
11
|
+
Lint/DuplicateBranch:
|
12
|
+
Exclude:
|
13
|
+
- 'lib/modulesync/renderer.rb'
|
13
14
|
|
14
|
-
# Offense count:
|
15
|
-
# Configuration parameters:
|
16
|
-
|
17
|
-
|
15
|
+
# Offense count: 1
|
16
|
+
# Configuration parameters: AllowComments, AllowNil.
|
17
|
+
Lint/SuppressedException:
|
18
|
+
Exclude:
|
19
|
+
- 'Rakefile'
|
20
|
+
|
21
|
+
# Offense count: 1
|
22
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
23
|
+
Performance/StringInclude:
|
24
|
+
Exclude:
|
25
|
+
- 'Rakefile'
|
18
26
|
|
19
27
|
# Offense count: 5
|
20
|
-
#
|
21
|
-
|
22
|
-
|
28
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
29
|
+
RSpec/BeEq:
|
30
|
+
Exclude:
|
31
|
+
- 'spec/unit/modulesync/settings_spec.rb'
|
32
|
+
|
33
|
+
# Offense count: 3
|
34
|
+
# Configuration parameters: Prefixes, AllowedPatterns.
|
35
|
+
# Prefixes: when, with, without
|
36
|
+
RSpec/ContextWording:
|
37
|
+
Exclude:
|
38
|
+
- 'spec/unit/modulesync/git_service/github_spec.rb'
|
39
|
+
- 'spec/unit/modulesync/git_service/gitlab_spec.rb'
|
40
|
+
- 'spec/unit/modulesync_spec.rb'
|
23
41
|
|
24
42
|
# Offense count: 17
|
25
|
-
#
|
26
|
-
|
27
|
-
|
43
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
44
|
+
# Configuration parameters: SkipBlocks, EnforcedStyle.
|
45
|
+
# SupportedStyles: described_class, explicit
|
46
|
+
RSpec/DescribedClass:
|
47
|
+
Exclude:
|
48
|
+
- 'spec/unit/modulesync/git_service/factory_spec.rb'
|
49
|
+
- 'spec/unit/modulesync/git_service/github_spec.rb'
|
50
|
+
- 'spec/unit/modulesync/git_service/gitlab_spec.rb'
|
51
|
+
- 'spec/unit/modulesync/git_service_spec.rb'
|
52
|
+
- 'spec/unit/modulesync/settings_spec.rb'
|
53
|
+
- 'spec/unit/modulesync/source_code_spec.rb'
|
54
|
+
- 'spec/unit/modulesync_spec.rb'
|
28
55
|
|
29
|
-
# Offense count:
|
30
|
-
# Configuration parameters:
|
31
|
-
|
56
|
+
# Offense count: 11
|
57
|
+
# Configuration parameters: CountAsOne.
|
58
|
+
RSpec/ExampleLength:
|
32
59
|
Max: 16
|
33
60
|
|
34
|
-
# Offense count:
|
61
|
+
# Offense count: 7
|
62
|
+
# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
|
63
|
+
# Include: **/*_spec*rb*, **/spec/**/*
|
64
|
+
RSpec/FilePath:
|
65
|
+
Exclude:
|
66
|
+
- 'spec/unit/modulesync/git_service/factory_spec.rb'
|
67
|
+
- 'spec/unit/modulesync/git_service/github_spec.rb'
|
68
|
+
- 'spec/unit/modulesync/git_service/gitlab_spec.rb'
|
69
|
+
- 'spec/unit/modulesync/git_service_spec.rb'
|
70
|
+
- 'spec/unit/modulesync/settings_spec.rb'
|
71
|
+
- 'spec/unit/modulesync/source_code_spec.rb'
|
72
|
+
- 'spec/unit/modulesync_spec.rb'
|
73
|
+
|
74
|
+
# Offense count: 19
|
75
|
+
# Configuration parameters: AssignmentOnly.
|
76
|
+
RSpec/InstanceVariable:
|
77
|
+
Exclude:
|
78
|
+
- 'spec/unit/modulesync/git_service/github_spec.rb'
|
79
|
+
- 'spec/unit/modulesync/git_service/gitlab_spec.rb'
|
80
|
+
|
81
|
+
# Offense count: 7
|
82
|
+
# Configuration parameters: .
|
83
|
+
# SupportedStyles: have_received, receive
|
84
|
+
RSpec/MessageSpies:
|
85
|
+
EnforcedStyle: receive
|
86
|
+
|
87
|
+
# Offense count: 6
|
88
|
+
RSpec/MultipleExpectations:
|
89
|
+
Max: 2
|
90
|
+
|
91
|
+
# Offense count: 10
|
92
|
+
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
|
93
|
+
# SupportedStyles: always, named_only
|
94
|
+
RSpec/NamedSubject:
|
95
|
+
Exclude:
|
96
|
+
- 'spec/unit/modulesync/settings_spec.rb'
|
97
|
+
- 'spec/unit/modulesync/source_code_spec.rb'
|
98
|
+
|
99
|
+
# Offense count: 9
|
100
|
+
# Configuration parameters: AllowedGroups.
|
101
|
+
RSpec/NestedGroups:
|
102
|
+
Max: 5
|
103
|
+
|
104
|
+
# Offense count: 6
|
105
|
+
RSpec/StubbedMock:
|
106
|
+
Exclude:
|
107
|
+
- 'spec/unit/modulesync/git_service/github_spec.rb'
|
108
|
+
- 'spec/unit/modulesync/git_service/gitlab_spec.rb'
|
109
|
+
- 'spec/unit/modulesync_spec.rb'
|
110
|
+
|
111
|
+
# Offense count: 9
|
35
112
|
# Configuration parameters: AllowedConstants.
|
36
113
|
Style/Documentation:
|
37
114
|
Exclude:
|
@@ -42,6 +119,27 @@ Style/Documentation:
|
|
42
119
|
- 'lib/modulesync/hook.rb'
|
43
120
|
- 'lib/modulesync/renderer.rb'
|
44
121
|
- 'lib/modulesync/util.rb'
|
122
|
+
- 'lib/monkey_patches.rb'
|
123
|
+
|
124
|
+
# Offense count: 4
|
125
|
+
# This cop supports safe autocorrection (--autocorrect).
|
126
|
+
# Configuration parameters: AllowedVars.
|
127
|
+
Style/FetchEnvVar:
|
128
|
+
Exclude:
|
129
|
+
- 'lib/modulesync/git_service.rb'
|
130
|
+
|
131
|
+
# Offense count: 34
|
132
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
133
|
+
# Configuration parameters: EnforcedStyle.
|
134
|
+
# SupportedStyles: always, always_true, never
|
135
|
+
Style/FrozenStringLiteralComment:
|
136
|
+
Enabled: false
|
137
|
+
|
138
|
+
# Offense count: 2
|
139
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
140
|
+
Style/IdenticalConditionalBranches:
|
141
|
+
Exclude:
|
142
|
+
- 'lib/modulesync/renderer.rb'
|
45
143
|
|
46
144
|
# Offense count: 1
|
47
145
|
# Configuration parameters: AllowedMethods.
|
@@ -49,3 +147,10 @@ Style/Documentation:
|
|
49
147
|
Style/OptionalBooleanParameter:
|
50
148
|
Exclude:
|
51
149
|
- 'lib/modulesync/puppet_module.rb'
|
150
|
+
|
151
|
+
# Offense count: 6
|
152
|
+
# This cop supports safe autocorrection (--autocorrect).
|
153
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
|
154
|
+
# URISchemes: http, https
|
155
|
+
Layout/LineLength:
|
156
|
+
Max: 169
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,19 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [2.7.0](https://github.com/voxpupuli/modulesync/tree/2.7.0) (2023-06-16)
|
6
|
+
|
7
|
+
[Full Changelog](https://github.com/voxpupuli/modulesync/compare/2.6.0...2.7.0)
|
8
|
+
|
9
|
+
**Breaking changes:**
|
10
|
+
|
11
|
+
- Drop EoL Ruby 2.5/2.6 support [\#270](https://github.com/voxpupuli/modulesync/pull/270) ([bastelfreak](https://github.com/bastelfreak))
|
12
|
+
|
13
|
+
**Merged pull requests:**
|
14
|
+
|
15
|
+
- Update puppet-blacksmith requirement from \>= 3.0, \< 7 to \>= 3.0, \< 8 [\#268](https://github.com/voxpupuli/modulesync/pull/268) ([dependabot[bot]](https://github.com/apps/dependabot))
|
16
|
+
- Update octokit requirement from ~\> 4.0 to \>= 4, \< 7 [\#263](https://github.com/voxpupuli/modulesync/pull/263) ([dependabot[bot]](https://github.com/apps/dependabot))
|
17
|
+
|
5
18
|
## [2.6.0](https://github.com/voxpupuli/modulesync/tree/2.6.0) (2023-04-14)
|
6
19
|
|
7
20
|
[Full Changelog](https://github.com/voxpupuli/modulesync/compare/2.5.0...2.6.0)
|
data/Gemfile
CHANGED
@@ -2,11 +2,12 @@ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
group :release do
|
6
|
-
gem '
|
5
|
+
group :release, optional: true do
|
6
|
+
gem 'faraday-retry', '~> 2.1', require: false
|
7
|
+
gem 'github_changelog_generator', '~> 1.16', require: false
|
7
8
|
end
|
8
9
|
|
9
|
-
group :coverage, optional: ENV['CODECOV']!='yes' do
|
10
|
-
gem '
|
11
|
-
gem '
|
10
|
+
group :coverage, optional: ENV['CODECOV'] != 'yes' do
|
11
|
+
gem 'codecov', require: false
|
12
|
+
gem 'simplecov-console', require: false
|
12
13
|
end
|
data/Rakefile
CHANGED
@@ -10,16 +10,9 @@ rescue LoadError
|
|
10
10
|
end
|
11
11
|
|
12
12
|
begin
|
13
|
-
require 'rubocop/
|
13
|
+
require 'voxpupuli/rubocop/rake'
|
14
14
|
rescue LoadError
|
15
15
|
# RuboCop is an optional group
|
16
|
-
else
|
17
|
-
RuboCop::RakeTask.new(:rubocop) do |task|
|
18
|
-
# These make the rubocop experience maybe slightly less terrible
|
19
|
-
task.options = ['--display-cop-names', '--display-style-guide', '--extra-details']
|
20
|
-
# Use Rubocop's Github Actions formatter if possible
|
21
|
-
task.formatters << 'github' if ENV['GITHUB_ACTIONS'] == 'true'
|
22
|
-
end
|
23
16
|
end
|
24
17
|
|
25
18
|
CLEAN.include('pkg/', 'tmp/')
|
@@ -29,8 +22,8 @@ Cucumber::Rake::Task.new do |t|
|
|
29
22
|
t.cucumber_opts << '--format pretty'
|
30
23
|
end
|
31
24
|
|
32
|
-
task :
|
33
|
-
task :
|
25
|
+
task test: %i[clean spec cucumber rubocop]
|
26
|
+
task default: %i[test]
|
34
27
|
|
35
28
|
begin
|
36
29
|
require 'github_changelog_generator/task'
|
@@ -44,7 +37,7 @@ begin
|
|
44
37
|
|
45
38
|
# Workaround for https://github.com/github-changelog-generator/github-changelog-generator/issues/715
|
46
39
|
require 'rbconfig'
|
47
|
-
if RbConfig::CONFIG['host_os']
|
40
|
+
if /linux/.match?(RbConfig::CONFIG['host_os'])
|
48
41
|
task :changelog do
|
49
42
|
puts 'Fixing line endings...'
|
50
43
|
changelog_file = File.join(__dir__, 'CHANGELOG.md')
|
data/lib/modulesync/cli.rb
CHANGED
@@ -21,12 +21,12 @@ module ModuleSync
|
|
21
21
|
|
22
22
|
class Hook < Thor
|
23
23
|
option :hook_args,
|
24
|
-
:
|
25
|
-
:
|
24
|
+
aliases: '-a',
|
25
|
+
desc: 'Arguments to pass to msync in the git hook'
|
26
26
|
option :branch,
|
27
|
-
:
|
28
|
-
:
|
29
|
-
:
|
27
|
+
aliases: '-b',
|
28
|
+
desc: 'Branch name to pass to msync in the git hook',
|
29
|
+
default: CLI.defaults[:branch]
|
30
30
|
desc 'activate', 'Activate the git hook.'
|
31
31
|
def activate
|
32
32
|
ModuleSync.hook CLI.prepare_options(options, hook: 'activate')
|
@@ -40,106 +40,106 @@ module ModuleSync
|
|
40
40
|
|
41
41
|
class Base < Thor
|
42
42
|
class_option :project_root,
|
43
|
-
:
|
44
|
-
:
|
45
|
-
:
|
43
|
+
aliases: '-c',
|
44
|
+
desc: 'Path used by git to clone modules into.',
|
45
|
+
default: CLI.defaults[:project_root]
|
46
46
|
class_option :git_base,
|
47
|
-
:
|
48
|
-
:
|
47
|
+
desc: 'Specify the base part of a git URL to pull from',
|
48
|
+
default: CLI.defaults[:git_base] || 'git@github.com:'
|
49
49
|
class_option :namespace,
|
50
|
-
:
|
51
|
-
:
|
52
|
-
:
|
50
|
+
aliases: '-n',
|
51
|
+
desc: 'Remote github namespace (user or organization) to clone from and push to.',
|
52
|
+
default: CLI.defaults[:namespace] || 'puppetlabs'
|
53
53
|
class_option :filter,
|
54
|
-
:
|
55
|
-
:
|
54
|
+
aliases: '-f',
|
55
|
+
desc: 'A regular expression to select repositories to update.'
|
56
56
|
class_option :negative_filter,
|
57
|
-
:
|
58
|
-
:
|
57
|
+
aliases: '-x',
|
58
|
+
desc: 'A regular expression to skip repositories.'
|
59
59
|
class_option :verbose,
|
60
|
-
:
|
61
|
-
:
|
62
|
-
:
|
63
|
-
:
|
60
|
+
aliases: '-v',
|
61
|
+
desc: 'Verbose mode',
|
62
|
+
type: :boolean,
|
63
|
+
default: false
|
64
64
|
|
65
65
|
desc 'update', 'Update the modules in managed_modules.yml'
|
66
66
|
option :message,
|
67
|
-
:
|
68
|
-
:
|
69
|
-
:
|
67
|
+
aliases: '-m',
|
68
|
+
desc: 'Commit message to apply to updated modules. Required unless running in noop mode.',
|
69
|
+
default: CLI.defaults[:message]
|
70
70
|
option :configs,
|
71
|
-
:
|
72
|
-
:
|
73
|
-
|
71
|
+
aliases: '-c',
|
72
|
+
desc: 'The local directory or remote repository to define the list of managed modules, ' \
|
73
|
+
'the file templates, and the default values for template variables.'
|
74
74
|
option :managed_modules_conf,
|
75
|
-
:
|
75
|
+
desc: 'The file name to define the list of managed modules'
|
76
76
|
option :remote_branch,
|
77
|
-
:
|
78
|
-
:
|
79
|
-
:
|
77
|
+
aliases: '-r',
|
78
|
+
desc: 'Remote branch name to push the changes to. Defaults to the branch name.',
|
79
|
+
default: CLI.defaults[:remote_branch]
|
80
80
|
option :skip_broken,
|
81
|
-
:
|
82
|
-
:
|
83
|
-
:
|
84
|
-
:
|
81
|
+
type: :boolean,
|
82
|
+
aliases: '-s',
|
83
|
+
desc: 'Process remaining modules if an error is found',
|
84
|
+
default: false
|
85
85
|
option :amend,
|
86
|
-
:
|
87
|
-
:
|
88
|
-
:
|
86
|
+
type: :boolean,
|
87
|
+
desc: 'Amend previous commit',
|
88
|
+
default: false
|
89
89
|
option :force,
|
90
|
-
:
|
91
|
-
:
|
92
|
-
:
|
90
|
+
type: :boolean,
|
91
|
+
desc: 'Force push amended commit',
|
92
|
+
default: false
|
93
93
|
option :noop,
|
94
|
-
:
|
95
|
-
:
|
96
|
-
:
|
94
|
+
type: :boolean,
|
95
|
+
desc: 'No-op mode',
|
96
|
+
default: false
|
97
97
|
option :pr,
|
98
|
-
:
|
99
|
-
:
|
100
|
-
:
|
98
|
+
type: :boolean,
|
99
|
+
desc: 'Submit pull/merge request',
|
100
|
+
default: false
|
101
101
|
option :pr_title,
|
102
|
-
:
|
103
|
-
:
|
102
|
+
desc: 'Title of pull/merge request',
|
103
|
+
default: CLI.defaults[:pr_title] || 'Update to module template files'
|
104
104
|
option :pr_labels,
|
105
|
-
:
|
106
|
-
:
|
107
|
-
:
|
105
|
+
type: :array,
|
106
|
+
desc: 'Labels to add to the pull/merge request',
|
107
|
+
default: CLI.defaults[:pr_labels] || []
|
108
108
|
option :pr_target_branch,
|
109
|
-
:
|
110
|
-
:
|
109
|
+
desc: 'Target branch for the pull/merge request',
|
110
|
+
default: CLI.defaults[:pr_target_branch]
|
111
111
|
option :offline,
|
112
|
-
:
|
113
|
-
:
|
114
|
-
:
|
112
|
+
type: :boolean,
|
113
|
+
desc: 'Do not run any Git commands. Allows the user to manage Git outside of ModuleSync.',
|
114
|
+
default: false
|
115
115
|
option :bump,
|
116
|
-
:
|
117
|
-
:
|
118
|
-
:
|
116
|
+
type: :boolean,
|
117
|
+
desc: 'Bump module version to the next minor',
|
118
|
+
default: false
|
119
119
|
option :changelog,
|
120
|
-
:
|
121
|
-
:
|
122
|
-
:
|
120
|
+
type: :boolean,
|
121
|
+
desc: 'Update CHANGELOG.md if version was bumped',
|
122
|
+
default: false
|
123
123
|
option :tag,
|
124
|
-
:
|
125
|
-
:
|
126
|
-
:
|
124
|
+
type: :boolean,
|
125
|
+
desc: 'Git tag with the current module version',
|
126
|
+
default: false
|
127
127
|
option :tag_pattern,
|
128
|
-
:
|
128
|
+
desc: 'The pattern to use when tagging releases.'
|
129
129
|
option :pre_commit_script,
|
130
|
-
:
|
131
|
-
:
|
130
|
+
desc: 'A script to be run before committing',
|
131
|
+
default: CLI.defaults[:pre_commit_script]
|
132
132
|
option :fail_on_warnings,
|
133
|
-
:
|
134
|
-
:
|
135
|
-
:
|
136
|
-
|
137
|
-
:
|
133
|
+
type: :boolean,
|
134
|
+
aliases: '-F',
|
135
|
+
desc: 'Produce a failure exit code when there are warnings ' \
|
136
|
+
'(only has effect when --skip_broken is enabled)',
|
137
|
+
default: false
|
138
138
|
option :branch,
|
139
|
-
:
|
140
|
-
:
|
141
|
-
|
142
|
-
:
|
139
|
+
aliases: '-b',
|
140
|
+
desc: 'Branch name to make the changes in. ' \
|
141
|
+
'Defaults to the default branch of the upstream repository, but falls back to "master".',
|
142
|
+
default: CLI.defaults[:branch]
|
143
143
|
def update
|
144
144
|
config = CLI.prepare_options(options)
|
145
145
|
raise Thor::Error, 'No value provided for required option "--message"' unless config[:noop] \
|
@@ -164,19 +164,19 @@ module ModuleSync
|
|
164
164
|
DESC
|
165
165
|
|
166
166
|
option :configs,
|
167
|
-
:
|
168
|
-
:
|
169
|
-
|
167
|
+
aliases: '-c',
|
168
|
+
desc: 'The local directory or remote repository to define the list of managed modules, ' \
|
169
|
+
'the file templates, and the default values for template variables.'
|
170
170
|
option :managed_modules_conf,
|
171
|
-
:
|
171
|
+
desc: 'The file name to define the list of managed modules'
|
172
172
|
option :branch,
|
173
|
-
:
|
174
|
-
:
|
175
|
-
:
|
173
|
+
aliases: '-b',
|
174
|
+
desc: 'Branch name to make the changes in.',
|
175
|
+
default: CLI.defaults[:branch]
|
176
176
|
option :fail_fast,
|
177
|
-
:
|
178
|
-
:
|
179
|
-
:
|
177
|
+
type: :boolean,
|
178
|
+
desc: 'Abort the run after a command execution failure',
|
179
|
+
default: CLI.defaults[:fail_fast].nil? ? true : CLI.defaults[:fail_fast]
|
180
180
|
def execute(*command_args)
|
181
181
|
raise Thor::Error, 'COMMAND is a required argument' if command_args.empty?
|
182
182
|
|
@@ -196,38 +196,38 @@ module ModuleSync
|
|
196
196
|
\x5 * Switch to specified branch
|
197
197
|
DESC
|
198
198
|
option :configs,
|
199
|
-
:
|
200
|
-
:
|
201
|
-
|
199
|
+
aliases: '-c',
|
200
|
+
desc: 'The local directory or remote repository to define the list of managed modules, ' \
|
201
|
+
'the file templates, and the default values for template variables.'
|
202
202
|
option :managed_modules_conf,
|
203
|
-
:
|
203
|
+
desc: 'The file name to define the list of managed modules'
|
204
204
|
option :branch,
|
205
|
-
:
|
206
|
-
:
|
207
|
-
:
|
205
|
+
aliases: '-b',
|
206
|
+
desc: 'Branch name to make the changes in.',
|
207
|
+
default: CLI.defaults[:branch]
|
208
208
|
option :offline,
|
209
|
-
:
|
210
|
-
:
|
211
|
-
:
|
209
|
+
type: :boolean,
|
210
|
+
desc: 'Only proceed local operations',
|
211
|
+
default: false
|
212
212
|
option :source_branch,
|
213
|
-
:
|
213
|
+
desc: 'Branch to reset from (e.g. origin/wip)'
|
214
214
|
def reset
|
215
215
|
ModuleSync.reset CLI.prepare_options(options)
|
216
216
|
end
|
217
217
|
|
218
218
|
desc 'push', 'Push all available commits from branch to remote'
|
219
219
|
option :configs,
|
220
|
-
:
|
221
|
-
:
|
222
|
-
|
220
|
+
aliases: '-c',
|
221
|
+
desc: 'The local directory or remote repository to define the list of managed modules, ' \
|
222
|
+
'the file templates, and the default values for template variables.'
|
223
223
|
option :managed_modules_conf,
|
224
|
-
:
|
224
|
+
desc: 'The file name to define the list of managed modules'
|
225
225
|
option :branch,
|
226
|
-
:
|
227
|
-
:
|
228
|
-
:
|
226
|
+
aliases: '-b',
|
227
|
+
desc: 'Branch name to push',
|
228
|
+
default: CLI.defaults[:branch]
|
229
229
|
option :remote_branch,
|
230
|
-
:
|
230
|
+
desc: 'Remote branch to push to (e.g. maintenance)'
|
231
231
|
def push
|
232
232
|
ModuleSync.push CLI.prepare_options(options)
|
233
233
|
end
|
@@ -2,7 +2,7 @@ module ModuleSync
|
|
2
2
|
module GitService
|
3
3
|
# Generic class for git services
|
4
4
|
class Base
|
5
|
-
def open_pull_request(repo_path:, namespace:, title:, message:, source_branch:, target_branch:, labels:, noop:)
|
5
|
+
def open_pull_request(repo_path:, namespace:, title:, message:, source_branch:, target_branch:, labels:, noop:)
|
6
6
|
unless source_branch != target_branch
|
7
7
|
raise ModuleSync::Error,
|
8
8
|
"Unable to open a pull request with the same source and target branch: '#{source_branch}'"
|
@@ -55,7 +55,7 @@ module ModuleSync
|
|
55
55
|
|
56
56
|
protected
|
57
57
|
|
58
|
-
def _open_pull_request(repo_path:, namespace:, title:, message:, source_branch:, target_branch:, labels:, noop:)
|
58
|
+
def _open_pull_request(repo_path:, namespace:, title:, message:, source_branch:, target_branch:, labels:, noop:)
|
59
59
|
raise NotImplementedError
|
60
60
|
end
|
61
61
|
end
|