r10k 3.5.0 → 3.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +4 -1
- data/.github/workflows/docker.yml +25 -1
- data/.github/workflows/rspec_tests.yml +81 -0
- data/.travis.yml +14 -11
- data/CHANGELOG.mkd +42 -6
- data/CODEOWNERS +1 -1
- data/Gemfile +1 -1
- data/README.mkd +13 -4
- data/azure-pipelines.yml +2 -1
- data/doc/dynamic-environments/configuration.mkd +60 -3
- data/doc/dynamic-environments/usage.mkd +5 -4
- data/doc/faq.mkd +6 -1
- data/doc/puppetfile.mkd +2 -0
- data/docker/Makefile +16 -2
- data/docker/r10k/Dockerfile +17 -6
- data/docker/r10k/release.Dockerfile +23 -4
- data/integration/tests/git_source/git_source_repeated_remote.rb +68 -0
- data/integration/tests/user_scenario/complex_workflow/multi_env_add_change_remove.rb +1 -1
- data/integration/tests/user_scenario/complex_workflow/multi_env_remove_re-add.rb +1 -1
- data/integration/tests/user_scenario/complex_workflow/multi_env_unamanaged.rb +1 -1
- data/lib/r10k/action/deploy/environment.rb +3 -0
- data/lib/r10k/action/deploy/module.rb +4 -1
- data/lib/r10k/action/runner.rb +34 -0
- data/lib/r10k/cli/deploy.rb +9 -4
- data/lib/r10k/cli/puppetfile.rb +5 -5
- data/lib/r10k/environment/base.rb +8 -1
- data/lib/r10k/environment/with_modules.rb +27 -19
- data/lib/r10k/forge/module_release.rb +2 -2
- data/lib/r10k/git.rb +1 -0
- data/lib/r10k/git/cache.rb +12 -4
- data/lib/r10k/git/rugged/credentials.rb +32 -2
- data/lib/r10k/git/stateful_repository.rb +4 -0
- data/lib/r10k/initializers.rb +2 -0
- data/lib/r10k/module/base.rb +8 -0
- data/lib/r10k/module/forge.rb +1 -1
- data/lib/r10k/module/git.rb +20 -3
- data/lib/r10k/puppetfile.rb +30 -12
- data/lib/r10k/settings.rb +24 -2
- data/lib/r10k/source/git.rb +22 -2
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +60 -36
- data/spec/fixtures/unit/action/r10k_creds.yaml +9 -0
- data/spec/shared-examples/subprocess-runner.rb +11 -5
- data/spec/unit/action/deploy/environment_spec.rb +43 -2
- data/spec/unit/action/deploy/module_spec.rb +40 -1
- data/spec/unit/action/puppetfile/install_spec.rb +1 -0
- data/spec/unit/action/runner_spec.rb +48 -1
- data/spec/unit/environment/git_spec.rb +3 -2
- data/spec/unit/environment/with_modules_spec.rb +74 -0
- data/spec/unit/forge/module_release_spec.rb +14 -10
- data/spec/unit/git/cache_spec.rb +10 -0
- data/spec/unit/git/rugged/credentials_spec.rb +69 -2
- data/spec/unit/git_spec.rb +3 -3
- data/spec/unit/module/git_spec.rb +55 -0
- data/spec/unit/puppetfile_spec.rb +61 -7
- data/spec/unit/settings_spec.rb +12 -0
- data/spec/unit/source/git_spec.rb +49 -1
- metadata +6 -2
data/spec/unit/settings_spec.rb
CHANGED
@@ -129,6 +129,18 @@ describe R10K::Settings do
|
|
129
129
|
expect { subject.evaluate('puppet_path' => '/nonexistent') }.to raise_error(R10K::Settings::Collection::ValidationError)
|
130
130
|
end
|
131
131
|
end
|
132
|
+
|
133
|
+
describe 'puppet_conf' do
|
134
|
+
it 'when file raises no error' do
|
135
|
+
allow(File).to receive(:readable?).with('/nonexistent').and_return(true)
|
136
|
+
expect { subject.evaluate('puppet_conf' => '/nonexistent') }.not_to raise_error
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'when not file raises error' do
|
140
|
+
allow(File).to receive(:readable?).with('/nonexistent').and_return(false)
|
141
|
+
expect { subject.evaluate('puppet_conf' => '/nonexistent') }.to raise_error(R10K::Settings::Collection::ValidationError)
|
142
|
+
end
|
143
|
+
end
|
132
144
|
end
|
133
145
|
|
134
146
|
describe "global settings" do
|
@@ -93,9 +93,57 @@ describe R10K::Source::Git do
|
|
93
93
|
let(:ignore_prefixes) { ['dev', 'test'] }
|
94
94
|
|
95
95
|
it "filters branches" do
|
96
|
-
expect(subject.
|
96
|
+
expect(subject.filter_branches_by_regexp(branches, ignore_prefixes)).to eq(['master', 'production', 'not_dev_test_me'])
|
97
97
|
end
|
98
98
|
end
|
99
|
+
|
100
|
+
describe "filtering branches with command" do
|
101
|
+
let(:branches) { ['master', 'development', 'production'] }
|
102
|
+
if R10K::Util::Platform.windows?
|
103
|
+
let(:filter_command) { 'powershell.exe if ($env:R10K_BRANCH.equals(\"development\")) {exit 1} else {exit 0}' }
|
104
|
+
else
|
105
|
+
let(:filter_command) { 'sh -c "[ $R10K_BRANCH != development ]"' }
|
106
|
+
end
|
107
|
+
|
108
|
+
it "filters branches" do
|
109
|
+
expect(subject.filter_branches_by_command(branches, filter_command)).to eq(['master', 'production'])
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
describe "generate_environments respects filter_command setting" do
|
114
|
+
before do
|
115
|
+
allow(subject.cache).to receive(:branches).and_return ['master', 'development', 'production']
|
116
|
+
if R10K::Util::Platform.windows?
|
117
|
+
subject.instance_variable_set(:@filter_command, 'powershell.exe if ($env:R10K_BRANCH.equals(\"master\")) {exit 1} else {exit 0}')
|
118
|
+
else
|
119
|
+
subject.instance_variable_set(:@filter_command, '[ $R10K_BRANCH != master ]')
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
let(:environments) { subject.generate_environments }
|
124
|
+
|
125
|
+
it "creates an environment for each branch not filtered by filter_command" do
|
126
|
+
expect(subject.generate_environments.size).to eq(2)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
describe "generate_environments respects filter_command setting and name" do
|
131
|
+
before do
|
132
|
+
allow(subject.cache).to receive(:branches).and_return ['master', 'development', 'production']
|
133
|
+
if R10K::Util::Platform.windows?
|
134
|
+
subject.instance_variable_set(:@filter_command, 'powershell.exe if ($env:R10K_NAME.equals(\"mysource\")) {exit 0} else {exit 1}')
|
135
|
+
else
|
136
|
+
subject.instance_variable_set(:@filter_command, '[ $R10K_NAME = mysource ]')
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
let(:environments) { subject.generate_environments }
|
141
|
+
|
142
|
+
it "creates an environment for each branch not filtered by filter_command" do
|
143
|
+
expect(subject.generate_environments.size).to eq(3)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
99
147
|
end
|
100
148
|
|
101
149
|
describe R10K::Source::Git, "handling invalid branch names" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r10k
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|
@@ -204,6 +204,7 @@ files:
|
|
204
204
|
- ".github/pull_request_template.md"
|
205
205
|
- ".github/workflows/docker.yml"
|
206
206
|
- ".github/workflows/release.yml"
|
207
|
+
- ".github/workflows/rspec_tests.yml"
|
207
208
|
- ".gitignore"
|
208
209
|
- ".travis.yml"
|
209
210
|
- CHANGELOG.mkd
|
@@ -282,6 +283,7 @@ files:
|
|
282
283
|
- integration/tests/command_line/negative/neg_invalid_cmd_line_arg.rb
|
283
284
|
- integration/tests/git_source/HTTP_proxy_and_git_source.rb
|
284
285
|
- integration/tests/git_source/git_source_git.rb
|
286
|
+
- integration/tests/git_source/git_source_repeated_remote.rb
|
285
287
|
- integration/tests/git_source/git_source_ssh.rb
|
286
288
|
- integration/tests/git_source/git_source_submodule.rb
|
287
289
|
- integration/tests/git_source/negative/neg_git_broken_remote.rb
|
@@ -446,6 +448,7 @@ files:
|
|
446
448
|
- spec/fixtures/module/forge/eight_hundred/metadata.json
|
447
449
|
- spec/fixtures/unit/action/r10k.yaml
|
448
450
|
- spec/fixtures/unit/action/r10k_cachedir.yaml
|
451
|
+
- spec/fixtures/unit/action/r10k_creds.yaml
|
449
452
|
- spec/fixtures/unit/action/r10k_generate_types.yaml
|
450
453
|
- spec/fixtures/unit/action/r10k_puppet_path.yaml
|
451
454
|
- spec/fixtures/unit/puppetfile/argument-error/Puppetfile
|
@@ -504,6 +507,7 @@ files:
|
|
504
507
|
- spec/unit/environment/git_spec.rb
|
505
508
|
- spec/unit/environment/name_spec.rb
|
506
509
|
- spec/unit/environment/svn_spec.rb
|
510
|
+
- spec/unit/environment/with_modules_spec.rb
|
507
511
|
- spec/unit/errors/formatting_spec.rb
|
508
512
|
- spec/unit/feature_spec.rb
|
509
513
|
- spec/unit/forge/module_release_spec.rb
|