modulesync 3.3.0 → 3.4.1
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 +11 -15
- data/.rubocop_todo.yml +7 -10
- data/CHANGELOG.md +19 -0
- data/Gemfile +0 -5
- data/bin/msync +0 -16
- data/features/execute.feature +3 -3
- data/features/support/env.rb +0 -7
- data/lib/modulesync/cli.rb +1 -1
- data/modulesync.gemspec +9 -8
- data/spec/spec_helper.rb +0 -2
- metadata +15 -24
- data/.simplecov +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8da0dddd013661a7bb0cc32467fac8fe5bd3c0b2325796ec6c35e6df2e5e3121
|
4
|
+
data.tar.gz: 5ac3727d6238f334fd4137ca483318a5b6eea6a76968b3bc80a185a7fec38d76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ace01d65b6ae1a27cd4534cf0dd67eedcd0ff4333633beb8de0be556dde2943dbe741b65dbbc704d105aee3eb4abcf3d72c4727d0eedd5a67c5d45399643af6
|
7
|
+
data.tar.gz: 6be66302f954b0f73731ce6293d2ad0386a9490713011a21a670f3905226e583b3bfa980de42ab0b2f33ca9e56b7507c62f57ce96ad03b127ee13d0ef9ca7c50
|
data/.github/workflows/ci.yml
CHANGED
@@ -11,8 +11,10 @@ env:
|
|
11
11
|
BUNDLE_WITHOUT: release
|
12
12
|
|
13
13
|
jobs:
|
14
|
-
|
15
|
-
runs-on: ubuntu-
|
14
|
+
rubocop_and_matrix:
|
15
|
+
runs-on: ubuntu-24.04
|
16
|
+
outputs:
|
17
|
+
ruby: ${{ steps.ruby.outputs.versions }}
|
16
18
|
steps:
|
17
19
|
- uses: actions/checkout@v4
|
18
20
|
- name: Setup ruby
|
@@ -22,22 +24,16 @@ jobs:
|
|
22
24
|
bundler-cache: true
|
23
25
|
- name: Run linter
|
24
26
|
run: bundle exec rake rubocop
|
27
|
+
- id: ruby
|
28
|
+
uses: voxpupuli/ruby-version@v1
|
25
29
|
test:
|
26
|
-
|
27
|
-
|
30
|
+
name: "Ruby ${{ matrix.ruby }}"
|
31
|
+
needs: rubocop_and_matrix
|
32
|
+
runs-on: ubuntu-24.04
|
28
33
|
strategy:
|
29
34
|
fail-fast: false
|
30
35
|
matrix:
|
31
|
-
|
32
|
-
- ruby: "2.7"
|
33
|
-
- ruby: "3.0"
|
34
|
-
- ruby: "3.1"
|
35
|
-
codecov: "yes"
|
36
|
-
- ruby: "3.2"
|
37
|
-
- ruby: "3.3"
|
38
|
-
- ruby: "3.4"
|
39
|
-
env:
|
40
|
-
CODECOV: ${{ matrix.codecov }}
|
36
|
+
ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
|
41
37
|
steps:
|
42
38
|
- uses: actions/checkout@v4
|
43
39
|
- name: Install Ruby ${{ matrix.ruby }}
|
@@ -53,7 +49,7 @@ jobs:
|
|
53
49
|
run: gem build --strict --verbose *.gemspec
|
54
50
|
tests:
|
55
51
|
needs:
|
56
|
-
-
|
52
|
+
- rubocop_and_matrix
|
57
53
|
- test
|
58
54
|
runs-on: ubuntu-latest
|
59
55
|
name: Test suite
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2025-05-21 12:14:38 UTC using RuboCop version 1.75.6.
|
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
|
@@ -12,6 +12,11 @@ Lint/SuppressedException:
|
|
12
12
|
Exclude:
|
13
13
|
- 'Rakefile'
|
14
14
|
|
15
|
+
# Offense count: 1
|
16
|
+
Lint/UselessConstantScoping:
|
17
|
+
Exclude:
|
18
|
+
- 'spec/helpers/faker/puppet_module_remote_repo.rb'
|
19
|
+
|
15
20
|
# Offense count: 3
|
16
21
|
# Configuration parameters: Prefixes, AllowedPatterns.
|
17
22
|
# Prefixes: when, with, without
|
@@ -26,14 +31,6 @@ RSpec/ContextWording:
|
|
26
31
|
RSpec/ExampleLength:
|
27
32
|
Max: 16
|
28
33
|
|
29
|
-
# Offense count: 2
|
30
|
-
# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
|
31
|
-
# Include: **/*_spec*rb*, **/spec/**/*
|
32
|
-
RSpec/FilePath:
|
33
|
-
Exclude:
|
34
|
-
- 'spec/unit/module_sync/git_service/github_spec.rb'
|
35
|
-
- 'spec/unit/module_sync/git_service/gitlab_spec.rb'
|
36
|
-
|
37
34
|
# Offense count: 19
|
38
35
|
# Configuration parameters: AssignmentOnly.
|
39
36
|
RSpec/InstanceVariable:
|
@@ -109,7 +106,7 @@ Style/OptionalBooleanParameter:
|
|
109
106
|
|
110
107
|
# Offense count: 6
|
111
108
|
# This cop supports safe autocorrection (--autocorrect).
|
112
|
-
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
|
109
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
|
113
110
|
# URISchemes: http, https
|
114
111
|
Layout/LineLength:
|
115
112
|
Max: 169
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,25 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [3.4.1](https://github.com/voxpupuli/modulesync/tree/3.4.1) (2025-05-21)
|
6
|
+
|
7
|
+
[Full Changelog](https://github.com/voxpupuli/modulesync/compare/3.4.0...3.4.1)
|
8
|
+
|
9
|
+
**Fixed bugs:**
|
10
|
+
|
11
|
+
- thor: Allow 1.2 to stay compatible with ancient facter [\#303](https://github.com/voxpupuli/modulesync/pull/303) ([bastelfreak](https://github.com/bastelfreak))
|
12
|
+
|
13
|
+
## [3.4.0](https://github.com/voxpupuli/modulesync/tree/3.4.0) (2025-05-21)
|
14
|
+
|
15
|
+
[Full Changelog](https://github.com/voxpupuli/modulesync/compare/3.3.0...3.4.0)
|
16
|
+
|
17
|
+
**Merged pull requests:**
|
18
|
+
|
19
|
+
- Disable coverage reports [\#300](https://github.com/voxpupuli/modulesync/pull/300) ([bastelfreak](https://github.com/bastelfreak))
|
20
|
+
- voxpupuli-rubocop: Update 3.0.0-\>3.1.0 [\#299](https://github.com/voxpupuli/modulesync/pull/299) ([bastelfreak](https://github.com/bastelfreak))
|
21
|
+
- voxpupuli-rubocop: Update 2.8.0-\>3.0.0 [\#297](https://github.com/voxpupuli/modulesync/pull/297) ([bastelfreak](https://github.com/bastelfreak))
|
22
|
+
- Allow thor 1.3.2 and newer [\#293](https://github.com/voxpupuli/modulesync/pull/293) ([dependabot[bot]](https://github.com/apps/dependabot))
|
23
|
+
|
5
24
|
## [3.3.0](https://github.com/voxpupuli/modulesync/tree/3.3.0) (2025-02-26)
|
6
25
|
|
7
26
|
[Full Changelog](https://github.com/voxpupuli/modulesync/compare/3.2.0...3.3.0)
|
data/Gemfile
CHANGED
@@ -8,8 +8,3 @@ group :release, optional: true do
|
|
8
8
|
gem 'faraday-retry', '~> 2.1', require: false
|
9
9
|
gem 'github_changelog_generator', '~> 1.16', require: false
|
10
10
|
end
|
11
|
-
|
12
|
-
group :coverage, optional: ENV['CODECOV'] != 'yes' do
|
13
|
-
gem 'codecov', require: false
|
14
|
-
gem 'simplecov-console', require: false
|
15
|
-
end
|
data/bin/msync
CHANGED
@@ -1,22 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
if ENV['COVERAGE']
|
5
|
-
# This block allow us to grab code coverage when running this script.
|
6
|
-
#
|
7
|
-
# Note: This environment variable (ie. COVERAGE) is set in Cucumber/Aruba configuration to collect reports
|
8
|
-
simplecov_root = File.expand_path File.join(File.dirname(__FILE__), '..')
|
9
|
-
|
10
|
-
# When running with aruba simplecov was using /tmp/aruba as the root folder.
|
11
|
-
# This is to force using the project folder
|
12
|
-
ENV['SIMPLECOV_ROOT'] = simplecov_root
|
13
|
-
require 'simplecov'
|
14
|
-
|
15
|
-
# https://github.com/simplecov-ruby/simplecov/issues/234
|
16
|
-
# As described in the issue, every process must have an unique name:
|
17
|
-
SimpleCov.command_name "#{File.basename $PROGRAM_NAME} (pid: #{Process.pid})"
|
18
|
-
end
|
19
|
-
|
20
4
|
lib = File.expand_path('../lib', __dir__)
|
21
5
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
22
6
|
|
data/features/execute.feature
CHANGED
@@ -37,8 +37,8 @@ Feature: execute
|
|
37
37
|
When I successfully run `msync help exec`
|
38
38
|
Then the stdout should contain:
|
39
39
|
"""
|
40
|
-
[--fail-fast], [--no-fail-fast]
|
41
|
-
|
40
|
+
[--fail-fast], [--no-fail-fast], [--skip-fail-fast] # Abort the run after a command execution failure
|
41
|
+
# Default: true
|
42
42
|
"""
|
43
43
|
|
44
44
|
Scenario: Override fail-fast default value using config file
|
@@ -46,6 +46,6 @@ Feature: execute
|
|
46
46
|
When I successfully run `msync help exec`
|
47
47
|
Then the stdout should contain:
|
48
48
|
"""
|
49
|
-
|
49
|
+
[--fail-fast], [--no-fail-fast], [--skip-fail-fast] # Abort the run after a command execution failure
|
50
50
|
"""
|
51
51
|
# NOTE: It seems there is a Thor bug here: default value is missing in help when sets to 'false'
|
data/features/support/env.rb
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'simplecov'
|
4
|
-
|
5
|
-
SimpleCov.command_name 'Cucumber'
|
6
|
-
|
7
3
|
require 'aruba/cucumber'
|
8
4
|
|
9
5
|
require_relative '../../spec/helpers/faker'
|
@@ -13,8 +9,5 @@ ModuleSync::Faker.working_directory = File.expand_path('faker', Aruba.config.wor
|
|
13
9
|
Before do
|
14
10
|
@aruba_timeout_seconds = 5
|
15
11
|
|
16
|
-
# This enables coverage when aruba runs `msync` executable (cf. `bin/msync`)
|
17
|
-
set_environment_variable('COVERAGE', '1')
|
18
|
-
|
19
12
|
aruba.config.activate_announcer_on_command_failure = %i[stdout stderr]
|
20
13
|
end
|
data/lib/modulesync/cli.rb
CHANGED
@@ -183,7 +183,7 @@ module ModuleSync
|
|
183
183
|
option :fail_fast,
|
184
184
|
type: :boolean,
|
185
185
|
desc: 'Abort the run after a command execution failure',
|
186
|
-
default: CLI.defaults[:fail_fast].nil?
|
186
|
+
default: CLI.defaults[:fail_fast].nil? || CLI.defaults[:fail_fast]
|
187
187
|
def execute(*command_args)
|
188
188
|
raise Thor::Error, 'COMMAND is a required argument' if command_args.empty?
|
189
189
|
|
data/modulesync.gemspec
CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'modulesync'
|
8
|
-
spec.version = '3.
|
8
|
+
spec.version = '3.4.1'
|
9
9
|
spec.authors = ['Vox Pupuli']
|
10
10
|
spec.email = ['voxpupuli@groups.io']
|
11
11
|
spec.summary = 'Puppet Module Synchronizer'
|
@@ -22,12 +22,13 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_development_dependency 'cucumber', '~> 9.2'
|
23
23
|
spec.add_development_dependency 'rake', '~> 13.2', '>= 13.2.1'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3.13'
|
25
|
-
spec.add_development_dependency '
|
26
|
-
spec.add_development_dependency 'voxpupuli-rubocop', '~> 2.8.0'
|
25
|
+
spec.add_development_dependency 'voxpupuli-rubocop', '~> 3.1.0'
|
27
26
|
|
28
|
-
spec.
|
29
|
-
spec.
|
30
|
-
spec.
|
31
|
-
spec.
|
32
|
-
|
27
|
+
spec.add_dependency 'git', '~>1.7'
|
28
|
+
spec.add_dependency 'gitlab', '>=4', '<6'
|
29
|
+
spec.add_dependency 'octokit', '>=4', '<10'
|
30
|
+
spec.add_dependency 'puppet-blacksmith', '>= 3.0', '< 9'
|
31
|
+
# 1.3.1 has a bug that was fixed in 1.3.2 https://github.com/rails/thor/pull/878
|
32
|
+
# Allow 1.2 and newer, because Perforce facter 4.10.0 only allows < 1.3....
|
33
|
+
spec.add_dependency 'thor', '~> 1.2', '!= 1.3.1'
|
33
34
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: modulesync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vox Pupuli
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: aruba
|
@@ -71,34 +71,20 @@ dependencies:
|
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '3.13'
|
74
|
-
- !ruby/object:Gem::Dependency
|
75
|
-
name: simplecov
|
76
|
-
requirement: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - "~>"
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 0.22.0
|
81
|
-
type: :development
|
82
|
-
prerelease: false
|
83
|
-
version_requirements: !ruby/object:Gem::Requirement
|
84
|
-
requirements:
|
85
|
-
- - "~>"
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: 0.22.0
|
88
74
|
- !ruby/object:Gem::Dependency
|
89
75
|
name: voxpupuli-rubocop
|
90
76
|
requirement: !ruby/object:Gem::Requirement
|
91
77
|
requirements:
|
92
78
|
- - "~>"
|
93
79
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
80
|
+
version: 3.1.0
|
95
81
|
type: :development
|
96
82
|
prerelease: false
|
97
83
|
version_requirements: !ruby/object:Gem::Requirement
|
98
84
|
requirements:
|
99
85
|
- - "~>"
|
100
86
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
87
|
+
version: 3.1.0
|
102
88
|
- !ruby/object:Gem::Dependency
|
103
89
|
name: git
|
104
90
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,16 +163,22 @@ dependencies:
|
|
177
163
|
name: thor
|
178
164
|
requirement: !ruby/object:Gem::Requirement
|
179
165
|
requirements:
|
180
|
-
- -
|
166
|
+
- - "~>"
|
181
167
|
- !ruby/object:Gem::Version
|
182
|
-
version: 1.
|
168
|
+
version: '1.2'
|
169
|
+
- - "!="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: 1.3.1
|
183
172
|
type: :runtime
|
184
173
|
prerelease: false
|
185
174
|
version_requirements: !ruby/object:Gem::Requirement
|
186
175
|
requirements:
|
187
|
-
- -
|
176
|
+
- - "~>"
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '1.2'
|
179
|
+
- - "!="
|
188
180
|
- !ruby/object:Gem::Version
|
189
|
-
version: 1.3.
|
181
|
+
version: 1.3.1
|
190
182
|
description: Utility to synchronize common files across puppet modules in Github.
|
191
183
|
email:
|
192
184
|
- voxpupuli@groups.io
|
@@ -203,7 +195,6 @@ files:
|
|
203
195
|
- ".rspec"
|
204
196
|
- ".rubocop.yml"
|
205
197
|
- ".rubocop_todo.yml"
|
206
|
-
- ".simplecov"
|
207
198
|
- CHANGELOG.md
|
208
199
|
- Gemfile
|
209
200
|
- HISTORY.md
|
@@ -270,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
261
|
- !ruby/object:Gem::Version
|
271
262
|
version: '0'
|
272
263
|
requirements: []
|
273
|
-
rubygems_version: 3.6.
|
264
|
+
rubygems_version: 3.6.7
|
274
265
|
specification_version: 4
|
275
266
|
summary: Puppet Module Synchronizer
|
276
267
|
test_files: []
|
data/.simplecov
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
SimpleCov.start do
|
4
|
-
if ENV['SIMPLECOV_ROOT']
|
5
|
-
SimpleCov.root(ENV['SIMPLECOV_ROOT'])
|
6
|
-
|
7
|
-
filters.clear # This will remove the :root_filter and :bundler_filter that come via simplecov's defaults
|
8
|
-
|
9
|
-
# Because simplecov filters everything outside of the SimpleCov.root
|
10
|
-
# This should be added, cf.
|
11
|
-
# https://github.com/colszowka/simplecov#default-root-filter-and-coverage-for-things-outside-of-it
|
12
|
-
add_filter do |src|
|
13
|
-
src.filename !~ /^#{SimpleCov.root}/
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
add_group 'Source code', 'lib'
|
18
|
-
|
19
|
-
add_group 'Unit tests', 'spec'
|
20
|
-
|
21
|
-
add_group 'Behavior tests', 'features'
|
22
|
-
add_filter '/features/support/env.rb'
|
23
|
-
|
24
|
-
enable_coverage :branch
|
25
|
-
|
26
|
-
# do not track vendored files
|
27
|
-
add_filter '/vendor'
|
28
|
-
add_filter '/.vendor'
|
29
|
-
|
30
|
-
# exclude anything that is not in lib, spec or features directories
|
31
|
-
add_filter do |src|
|
32
|
-
src.filename !~ %r{^#{SimpleCov.root}/(lib|spec|features)}
|
33
|
-
end
|
34
|
-
|
35
|
-
track_files '**/*.rb'
|
36
|
-
end
|
37
|
-
|
38
|
-
if ENV['CODECOV'] == 'yes'
|
39
|
-
require 'simplecov-console'
|
40
|
-
require 'codecov'
|
41
|
-
|
42
|
-
SimpleCov.formatters = [
|
43
|
-
SimpleCov::Formatter::Console,
|
44
|
-
SimpleCov::Formatter::Codecov,
|
45
|
-
]
|
46
|
-
end
|
47
|
-
|
48
|
-
# vim: filetype=ruby
|